大概如下:select * from (select a.*,
row_number() over (partiton by(type) order by degree) rn,
count(*) over (partiton by(type) ) cnt from table_name)
where rn<=2
row_number() over (partiton by(type) order by degree) rn,
count(*) over (partiton by(type) ) cnt from table_name)
where rn<=2
row_number() over (partition by(type) order by degree) rn,
count(*) over (partition by(type) ) cnt from table_name a)
where rn<=2
另外你说前两条数据是按什么顺序排序的前两条?
下面语句是按数据读取顺序取得前两条,根据自己需要修改order
SELECT * FROM(
SELECT TABLE1.*,COUNT(1) OVER(PARTITION BY TYPE) C,
ROW_NUMBER()OVER(PARTITION BY TYPE ORDER BY ROWNUM) RN
From TABLE1
)WHERE RN<=2
上班上不了CSDN论坛,刚无意点了一下,看看,顺便回一下,哈
抱歉,少写了,按degree排,非常感谢