您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關SQL如何查詢排名函數,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
在實際開發中經常會遇到計算某個字段的排名的情況
如下表:totak_sales
現在又如此要求:按sales的逆序排序,要求添加一個sales_rank字段,顯示排名順序
方法:
代碼如下: SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)GROUP BY a1.Name, a1.SalesORDER BY a1.Sales DESC, a1.Name DESC;
結果:
或:
代碼如下: SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)GROUP BY a1.Name, a1.SalesORDER BY a1.Sales DESC, a1.Name DESC;
結果:
由上面的方案,我們可以繼續推測,如何選出某項來呢?
比如排名為5的那項內容:
代碼如下: SELECT * from(SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)GROUP BY a1.Name, a1.SalesORDER BY a1.Sales DESC, a1.Name DESC) as tab WHERE tab.sales_rank=5;
關于SQL如何查詢排名函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。