【发布时间】:2010-11-10 14:38:03
【问题描述】:
我需要为每个组取前 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。
【问题讨论】:
标签: sql postgresql