例如,假设我在 PostgreSQL(高于 9.0)中有一个表,其中填充了数据:
row_id percent isrc
1 100 123iee43
2 100 1234wr32
3 98 123iee43
4 99 1234wr32
5 95 12313be3
6 99 12313be3
7 96 12313be3
我希望我的结果包含按列分组的所有上述行isrc
,然后按percent
降序排列的整个组。所以结果应该是这样的:
row_id percent isrc
1 100 123iee43
3 98 123iee43
2 100 1234wr32
4 99 1234wr32
6 99 12313be3
7 96 12313be3
5 95 12313be3
如果我想要升序,这就是我所期望的(我只想按一个组中的第一行排序,一个组中的其他行无关紧要):
row_id percent isrc
6 99 12313be3
7 96 12313be3
5 95 12313be3
1 100 123iee43
3 98 123iee43
2 100 1234wr32
4 99 1234wr32
我想我必须以某种方式使用窗口函数,但如果存在则无法找到正确的解决方案。此外,如果解决方案尽可能优雅,那就太好了。:)