How to order by specific column without breaking groups?
Another option, using a window function:
select 
    id, &quot;group&quot;, date
from 
    table1
order by
    max(date) over (partition by &quot;group&quot;) desc,
    &quot;group&quot;, 
    date desc ;

Thnx to @nbk for providing the dbfiddle.uk