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