萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> sql server2008 排序函數

sql server2008 排序函數

   排序函數:

  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 後面對的字段排序,然後將排序結果分成規定的幾個組,並為每個組指定一個組號

copyright © 萬盛學電腦網 all rights reserved