我想从下表中获得两行不同的column2。
demo_table
id | column1 | column2
1 | 1 | 3
2 | 2 | 3
3 | 3 | 4
4 | 4 | 3
5 | 5 | 4
6 | 6 | 3
当我预先形成此查询时
select distinct on (column2) * from demo_table
它让我把它作为这个
id | column1 | column2
5 | 5 | 4
6 | 6 | 3
我正在寻找可以输出
的查询id | column1 | column2
3 | 3 | 4
5 | 5 | 4
6 | 6 | 3
4 | 4 | 3
它应该给出两行,其中column2是不同的。
答案 0 :(得分:1)
使用row_number():
select id, column1, column2
from (
select id, column1, column2,
row_number() over (partition by column2 order by id) as rn
from demo_table
) t
where rn <= 2;