row_number()用法

select * from
(select no = row_number() over(partition by Gender order by getdate()),* from Student) t
where no=1

 row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开时排序).
  rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内).
  dense_rank()l是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的 .

posted @ 2023-11-17 19:00  ac楚  Views(6)  Comments(0Edit  收藏  举报