SQL查詢排名函數(shù)實例
在實際開發(fā)中經(jīng)常會遇到計算某個字段的排名的情況
如下表:totak_sales

現(xiàn)在又如此要求:按sales的逆序排序,要求添加一個sales_rank字段,顯示排名順序
方法:
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name DESC;
結(jié)果:

或:
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name DESC;
結(jié)果:

由上面的方案,我們可以繼續(xù)推測,如何選出某項來呢?
比如排名為5的那項內(nèi)容:
(
SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name DESC
) as tab WHERE tab.sales_rank=5;

當然,此時如果將順序修改為3的話,就不能很好的查找到內(nèi)容了,這個還是一個弊端,需進行修改,待續(xù)
以上就是SQL查詢排名函數(shù)實例的全部內(nèi)容,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MSSQL 數(shù)據(jù)庫備份和還原的幾種方法 圖文教程
MSSQL 數(shù)據(jù)庫備份和還原的幾種方法小結(jié),配有圖文,大家看了就知道了。2009-12-12
SQL?Server2019安裝的詳細步驟實戰(zhàn)記錄(親測可用)
SQL Server 2019作為編程人員必須使用到的一款數(shù)據(jù)庫管理軟件,許多初學(xué)者在安裝這款軟件的時候都出現(xiàn)了各種各樣的問題,下面這篇文章主要給大家介紹了關(guān)于SQL?Server2019安裝的詳細步驟,需要的朋友可以參考下2022-06-06
SQL?Server中row_number函數(shù)用法入門介紹
SQL?ROW_NUMBER函數(shù)是臨時值序列的非持久生成,并且在執(zhí)行查詢時會動態(tài)計算該函數(shù),下面這篇文章主要給大家介紹了關(guān)于SQL?Server中row_number函數(shù)用法的相關(guān)資料,需要的朋友可以參考下2023-03-03
SqlServer存儲過程實現(xiàn)及拼接sql的注意點
這篇文章主要介紹了SqlServer存儲過程實現(xiàn)及拼接sql的注意點的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07

