Сгруппированный LIMIT в PostgreSQL: показать первые 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)

Мне нужны первые 2 ряда (заказаноname) для каждого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.

Ответы на вопрос(5)

Ваш ответ на вопрос