14 Temmuz 2009, Salı
PostgreSQL gruplanmış LİMİT: her grup için ilk N satırları göster?
Her grup, özel sütun tarafından sipariş edilen ilk N satırları almak istiyorum.
Verilen Aşağıdaki tablo:
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)
İlk 2 satır sana göre emrettiadıher içinsection_idyani sonuç benzer:
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 kullanıyorum.
CEVAP
19 Mayıs 2011, PERŞEMBE
Yeni çözüm (PostgreSQL 8.4)
SELECT
*
FROM (
SELECT
ROW_NUMBER() OVER (PARTITION BY session_id ORDER BY name) AS r,
t.*
FROM
xxx t) x
WHERE
x.r <= 2;
Bunu Paylaş:
Nasıl bir PostgreSQL '' sorg...
C için bir sebep mi'#; dosyalarda ...
Nasıl PostgreSQL komut satırı yardımcı...
Nasıl bir dizin özyinelemeli olarak tü...
Postgresql tabloları göster...