sql server2008 排序函数
排序函数:
1.row_number() over(order by liename):根据order by后面的字段排序,为每一行给定一个唯一的行号
select row_number() over( order by iname desc ) as rowid ,iname from test
2.Rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号可能是不连续的
select distinct rank() over( order by iname desc ) as rowid ,iname,iage from test
3. dense_rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号是连续的
select distinct dense_rank() over( order by iname desc ) as rowid ,iname from test
4. ntile():先根据order by 后面对的字段排序,然后将排序结果分成规定的几个组,并为每个组指定一个组号
select distinct ntile(5) over( order by iname desc ) as rowid ,iname,iage from test order by rowid
总结:
1.row_number() over(order by liename):根据order by后面的字段排序,为每一行给定一个唯一的行号
2.Rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号可能是不连续的
3. dense_rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号是连续的
4. ntile():先根据order by 后面对的字段排序,然后将排序结果分成规定的几个组,并为每个组指定一个组号