On Jun 4, 5:27 pm, Nick <nboutel...@xxxxxxxxx> wrote: > For the data... > > INSERT INTO test (id,val) VALUES (1,a); > INSERT INTO test (id,val) VALUES (2,a); > INSERT INTO test (id,val) VALUES (3,a); > INSERT INTO test (id,val) VALUES (4,a); > INSERT INTO test (id,val) VALUES (5,b); > INSERT INTO test (id,val) VALUES (6,b); > > How could I return an even amount of val? For example, I would like to > return this... > > 1 | a > 2 | a > 5 | b > 6 | b > > Since the least number of b vals is 2, Id like to limit the a columns > to return only 2 Found something good. Now if I could only dynamically get that "2" least val. SELECT * FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY val ORDER BY val) AS r, t.* FROM test t ) x WHERE r <= 2 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general