close
SQL Server ROW_NUMBER() 和 DENSE_RANK()
建立測試內容
create table tmp ( id integer , name varchar(20) , source int)
insert into tmp values ( 1 , '大明' , 80)
insert into tmp values ( 2 , '小明' , 90)
insert into tmp values ( 3 , '大華' , 86)
insert into tmp values ( 4 , '小華' , 86)
insert into tmp values ( 5 , '老王' , 84)
insert into tmp values ( 6 , '小王' , 83)
insert into tmp values ( 7 , '小何' , 83)
insert into tmp values ( 8 , '小張' , 86)
select * , ROW_NUMBER() over(order by source) as sort
from tmp order by sort
select * , DENSE_RANK() over(order by source) as sort
from tmp order by sort
從 (圖一) 和 (圖四) 紅框框起來的範圍做比較,可以看出來DENSE_RANK()函式會去除重覆值,但ROW_NUMBER()函式並不會去除重覆的排名。
全站熱搜
留言列表