Мне нужно взять первые 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)
Мне нужны первые 2 строки (упорядоченные по имени ) для каждого section_id , т.е. результат похож на:
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.