如何在不中断组的情况下按特定列排序?

hel*_*one 3 postgresql

我有一张像下面这样的表格,我想按日期订购这张表格而不打破组。

id    group       date
1 |   group1 | 2011-11-24
2 |   group2 | 2011-08-20
3 |   group1 | 2011-03-11
4 |   group3 | 2011-05-05
5 |   group3 | 2012-01-01
Run Code Online (Sandbox Code Playgroud)

按日期排序时,我只考虑最新更新的组元素。

我想得到这样的订单;

id    group       date
5 |   group3 | 2012-01-01
4 |   group3 | 2011-05-05
1 |   group1 | 2011-11-24
3 |   group1 | 2011-03-11
2 |   group2 | 2011-08-20
Run Code Online (Sandbox Code Playgroud)

ype*_*eᵀᴹ 7

另一种选择,使用窗口函数:

select 
    id, "group", date
from 
    table1
order by
    max(date) over (partition by "group") desc,
    "group", 
    date desc ;
Run Code Online (Sandbox Code Playgroud)

感谢@nbk 提供dbfiddle.uk