欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

sql server2008 排序函数

程序员文章站 2022-05-11 08:52:15
...

排序函数: 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后面的字段值

  排序函数:

  1.row_number() over(order by liename):根据order by后面的字段排序,为每一行给定一个唯一的行号

  select row_number() over( order by iname desc ) as rowid ,iname from test

sql server2008 排序函数

  2.Rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号可能是不连续的

  select distinct rank() over( order by iname desc ) as rowid ,iname,iage from test

sql server2008 排序函数

  3. dense_rank():根据order by 后面的字段排序,order by后面的字段值相同序号就相同,序号是连续的

  select distinct dense_rank() over( order by iname desc ) as rowid ,iname from test

sql server2008 排序函数

  4. ntile():先根据order by 后面对的字段排序,然后将排序结果分成规定的几个组,,并为每个组指定一个组号

  select distinct ntile(5) over( order by iname desc ) as rowid ,iname,iage from test order by rowid

sql server2008 排序函数

  总结:

  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 后面对的字段排序,然后将排序结果分成规定的几个组,并为每个组指定一个组号