校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > SQL查詢排名函數實例

SQL查詢排名函數實例

熱門標簽:400電話辦理泰安 安卡拉地圖標注app 電銷需要外呼系統嗎 互聯網電話外呼系統 千呼電話機器人可以試用嗎 電話機器人怎么代理商 家庭農場地圖標注名稱怎樣起名 我要地圖標注數量有限制嗎 零成本地圖標注賺錢

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

如下表:totak_sales

現在又如此要求:按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;

結果:


或:

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

結果:

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

比如排名為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;

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

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

您可能感興趣的文章:
  • SQL2005 四個排名函數(row_number、rank、dense_rank和ntile)的比較
  • 實例講解sql server排名函數DENSE_RANK的用法
  • SqlServer 2005的排名函數使用小結
  • sql四大排名函數之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介紹

標簽:東營 黃山 濱州 文山 池州 大同 來賓 新鄉

巨人網絡通訊聲明:本文標題《SQL查詢排名函數實例》,本文關鍵詞  SQL,查詢,排名,函數,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL查詢排名函數實例》相關的同類信息!
  • 本頁收集關于SQL查詢排名函數實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 怀安县| 德庆县| 钟祥市| 扎囊县| 博兴县| 舒城县| 合水县| 达孜县| 麻江县| 台东市| 翁牛特旗| 曲周县| 麻栗坡县| 舒兰市| 德钦县| 镇赉县| 宣化县| 望江县| 石景山区| 依安县| 进贤县| 渭源县| 云安县| 洛南县| 鲁甸县| 寻甸| 修文县| 嘉义县| 湖南省| 龙口市| 勐海县| 南安市| 宁强县| 中方县| 五大连池市| 正蓝旗| 灌南县| 府谷县| 郁南县| 雅江县| 广汉市|