Gruppiertes LIMIT in PostgreSQL: Die ersten N Zeilen für jede Gruppe anzeigen?

Ich muss die ersten N Zeilen für jede Gruppe nehmen, sortiert nach benutzerdefinierter Spalte.

Ausgehend von der folgenden Tabelle:

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)

Ich brauche die ersten 2 Reihen (bestellt vonName) für jedensection_idein Ergebnis ähnlich zu:

 id | section_id | name
----+------------+------
  1 |          1 | A
  2 |          1 | B
  5 |          2 | E
  6 |          2 | F
  7 |          3 | G
(5 rows)

Ich benutze PostgreSQL 8.3.5.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage