sql server2008 排序函数

网络整理 - 08-18

   排序函数:

  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

sqlserver2008 排序函数!

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

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

sqlserver2008 排序函数!

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

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

sqlserver2008 排序函数!

  总结:

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