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