0
假设我有一个包含列id,颜色,项目的表格产品。Oracle为列表中的每个项目选择一个记录样本
select distinct color from product
有没有一种方法没有做一堆的联盟,从产品表中为每种颜色选择最多2条记录?
我很想能够做到像
select distinct color from product sample 2
假设我有一个包含列id,颜色,项目的表格产品。Oracle为列表中的每个项目选择一个记录样本
select distinct color from product
有没有一种方法没有做一堆的联盟,从产品表中为每种颜色选择最多2条记录?
我很想能够做到像
select distinct color from product sample 2
不要使用union
小号!只需使用row_number()
:
select p.*
from (select p.*, row_number() over (partition by color order by color) as seqnum
from product p
) p
where seqnum <= 2;
select id, color, item
from (select id, color, item,
row_number() over (partition by color order by null) as rn
from product
)
where rn <= 2;
完美谢谢! – user1854438