SAP IQ实现oracle中的ROW_NUMBER() OVER(PARTITION BY ..ORDER BY...)


create table msgdw.wq_test(name_1 varchar(10), class_1 varchar(2), score int) 


insert into msgdw.wq_test values('tony', '1' ,91) ; 
insert into msgdw.wq_test values('wangxiao', '1' ,99) ;
insert into msgdw.wq_test values('jerry', '1' ,99) ;
insert into msgdw.wq_test values('alice', '2' ,99) ;
insert into msgdw.wq_test values('tim', '2' ,100) ;
insert into msgdw.wq_test values('tommy', '3' ,80) ;
insert into msgdw.wq_test values('tom', '2' ,95) ;
insert into msgdw.wq_test values('john', '3' ,93) ;
insert into msgdw.wq_test values('dave', '3' ,91) ;
insert into msgdw.wq_test values('sam', '2' ,88) ;
insert into msgdw.wq_test values('sasa', '1' ,90) ;

commit; 

select * from msgdw.wq_test ;  


select  name_1,class_1,score,  COUNT(*) OVER(PARTITION BY class_1  ORDER BY W.score  DESC rows between unbounded preceding and current row ) RN 
from   msgdw.wq_test  W ;  



请使用浏览器的分享功能分享到微信等