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.

questionAnswers(5)

yourAnswerToTheQuestion