下面介紹三種用于進行排序的專用窗口函數(shù):
1、RANK()
??? 在計算排序時,若存在相同位次,會跳過之后的位次。
??? 例如,有3條排在第1位時,排序為:1,1,1,4······
2、DENSE_RANK()
??? 這就是題目中所用到的函數(shù),在計算排序時,若存在相同位次,不會跳過之后的位次。
??? 例如,有3條排在第1位時,排序為:1,1,1,2······
3、ROW_NUMBER()
??? 這個函數(shù)賦予唯一的連續(xù)位次。
例如,有3條排在第1位時,排序為:1,2,3,4······
窗口函數(shù)用法:
<窗口函數(shù)> OVER ( [PARTITION BY <列清單> ]
??????????????????????????????? ORDER BY <排序用列清單> )
*其中[ ]中的內(nèi)容可以忽略
例如:題目源自??途W(wǎng)
?代碼:文章來源:http://www.zghlxwxcb.cn/news/detail-814699.html
select emp_no, salary, dense_rank() over (order by salary desc) as t_rank from salaries where to_date='9999-01-01' order by t_rank asc,emp_no asc;
?文章來源地址http://www.zghlxwxcb.cn/news/detail-814699.html
到了這里,關(guān)于SQL—排序?qū)S么翱诤瘮?shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!