sqlserver中T-sql语句提供的排序函数
row_number() over(
rank() over( dense_rank() over( NTILE(number_expression) over( --当记录值相同时并列第一,排列编号并不是总会是连续的,例如此处就不连续,每个分区排列的话将序号都将为1 select qty,rank() over(partition by qty order by qty) as number from sales --当记录值相同时仍然按编号依次连续排列,如果有分区的话每个分区序号从1开始排列 select qty,row_number() over(partition by qty order by qty) as number from sales -- 没有分区时,排列序号连续,但记录值相同时排列序号也相同,有分区时,每个分区排列的话将序号都将为1 select qty,dense_rank() over(partition by qty order by qty ) as number from sales --当一个分区有4条记录,而只有3个存储桶时,此时第一个存储桶将存储2条记录,而另外存储桶各存储一个。如果记录数刚好被存储桶平分,如分区有4条记录,则每个存储桶将存储两条记录 --存储桶 nitile(number_expression) number_expression 表示存储桶数量 select qty,ntile(3) over(partition by qty order by qty) as number from sales 了解更多关于数据库方面的知识,请访问上海数据库培训学校