PostgreSQL中的分组LIMIT:显示每个组的前N行?
PostgreSQL中的分组LIMIT:显示每个组的前N行?
我需要按自定义列排序,对每个组取前N行。
给定以下表格:
db=# SELECT * FROM xxx; id | section_id | name ----+------------+------ 1 | 1 | A 2 | 1 | B 3 | 1 | C 4 | 1 | D 5 | 2 | E 6 | 2 | F 7 | 3 | G 8 | 2 | H (8 rows)
我需要对每个section_id取前2行(按name排序),即类似于以下结果:
id | section_id | name ----+------------+------ 1 | 1 | A 2 | 1 | B 5 | 2 | E 6 | 2 | F 7 | 3 | G (5 rows)
我使用的是PostgreSQL 8.3.5。
admin 更改状态以发布 2023年5月19日