一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL查詢排名函數實例

SQL查詢排名函數實例

2020-05-06 16:03meaijojo Sql Server

本文主要講解SQL查詢排名函數實例,比較實用,希望能給大家做一個參考。

在實際開發中經常會遇到計算某個字段的排名的情況

如下表:totak_sales

SQL查詢排名函數實例

現在又如此要求:按sales的逆序排序,要求添加一個sales_rank字段,顯示排名順序

方法:

 

復制代碼 代碼如下:
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;

 

結果:

SQL查詢排名函數實例
或:

 

復制代碼 代碼如下:
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;

 

結果:

SQL查詢排名函數實例

由上面的方案,我們可以繼續推測,如何選出某項來呢?

比如排名為5的那項內容:

 

復制代碼 代碼如下:
SELECT * from
(
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;

 

SQL查詢排名函數實例

當然,此時如果將順序修改為3的話,就不能很好的查找到內容了,這個還是一個弊端,需進行修改,待續

以上就是SQL查詢排名函數實例的全部內容,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎永久在线精品免费影视 | 99r在线播放 | 千金奴隶在线 | 91欧美秘密入口 | 欧美日韩精彩视频 | 人人爽人人射 | 2021国产精品成人免费视频 | 精品一区二区三区波多野结衣 | 国产色综合久久五月色婷婷中文 | 国产乱子伦一区二区三区 | 精品久久免费观看 | 99视频免费在线 | 欧美成人福利 | 国内精品福利丝袜视频_速 国内精品91久久久久 | 美女被上漫画 | 视频一区二区国产无限在线观看 | eee在线播放成人免费 | 啊啊啊好大视频 | 色播开心网 | 欧美日本一道高清免费3区 欧美人做人爱a全程免费 | 黄a一级 | 亚洲欧美天堂综合久久 | 欧美成人tv在线观看免费 | 美女口述又粗又大感觉 | 国产女主播福利在线 | 久久精品热在线观看85 | www.久久99 | 插得爽| 青青草国产青春综合久久 | 40岁女人三级全黄 | 农夫色综合 | 高h短篇合集 | 男人猛进女人屁股免费 | 蜜月aⅴ免费一区二区三区 蜜桃影像传媒推广 | 国产成人精品福利色多多 | 海角社区在线登录 | 亚洲高清视频网站 | 精品精品国产自在久久高清 | 亚洲无总热门 | 精品亚洲视频在线 | 波多野结衣护士 |