Zgrupowane LIMIT w PostgreSQL: pokaż pierwsze N wierszy dla każdej grupy?
Muszę wziąć pierwsze N wierszy dla każdej grupy, uporządkowane według kolumny niestandardowej.
Biorąc pod uwagę następującą tabelę:
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)
Potrzebuję pierwszych 2 rzędów (zamówionych przezimię) dla każdegosection_id, tj. wynik podobny do:
id | section_id | name
----+------------+------
1 | 1 | A
2 | 1 | B
5 | 2 | E
6 | 2 | F
7 | 3 | G
(5 rows)
Używam PostgreSQL 8.3.5.