分組排序函數——row_number()

来源:https://www.cnblogs.com/liuxiaomin/archive/2019/11/29/11958788.html
-Advertisement-
Play Games

1、MySQL8.0以上版本 用法1:無分組排序 Row_number() OVER(ORDER BY 欄位 DESC)例如:Row_number() OVER(ORDER BY 學生成績 DESC)表示不分班級,所有學生的成績從高到低排序用法2:分組排序ROW_NUMBER() OVER(PART ...


1、MySQL8.0以上版本

用法1:無分組排序

Row_number() OVER(ORDER BY 欄位 DESC)
例如:Row_number() OVER(ORDER BY 學生成績 DESC)
表示不分班級,所有學生的成績從高到低排序
用法2:分組排序
ROW_NUMBER() OVER(PARTITION BY 欄位1 ORDER BY 欄位2 DESC)
表示根據欄位1分組,在分組內部根據欄位2排序,這個函數計算的值就表示每組內部排序後的順序編號
例如:ROW_NUMBER() OVER(PARTITION BY 班級 ORDER BY 學生成績 DESC)
表示根據“班級”分組,在每個“班級”內部根據“學生成績”排序,這個函數計算的值就表示每組內部排序後的
順序編號
解釋:
ROW_NUMBER( )  起到了編號的功能
partition by  將相同數據進行分區
order by    使得數據按一定順序排序

2、MySQL5.7版本

用法1:無分組排序

例如:計算銷售人員的銷售額,結果按從高到低排序,查詢結果中要包含銷售的排名

SET @rank := 0;
SELECT
A.*,
@rank := @rank + 1 AS rank 
FROM
( SELECT sales_name, sum( sales ) FROM spm_order

GROUP BY sales_name

ORDER BY sum( sales ) DESC ) A

用法2:分組排序

例:計算銷售人員在不同城市的銷售額;

要求:結果根據銷售人員不同城市的銷售額進行分組排序(降序),並且查詢結果要包含分組排名

SET @r := 0,
@type := '';
SELECT
 @r :=
CASE WHEN @type = a.sales_name THEN
@r + 1 ELSE 1
END AS rowNum,
 @type := a.sales_name AS type,
  a.*
FROM
( SELECT sales_name, city, sum( sales ) FROM spm_order

GROUP BY sales_name, city

ORDER BY sales_name, sum( sales ) DESC ) a;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 創建MVC項目 首先,我們使用Visual Studio2019創建一個MVC架構的應用程式。步驟如下:首先打開VS2019,在啟動頁選擇【創建新項目】。然後選擇創建 ASP.NET Web 應用程式。填寫項目名稱,點擊創建。選擇MVC,去掉高級選項中的【為HTTPS配置】,然後點擊創建。這時我們的 ...
  • OMR是用光學掃描的方法來識別按一定格式印刷或書寫的標記,並將其轉換為電腦能接受的電信號。 Aspose一直致力於研究用於執行文件間格式轉換,對文件進行操作(例如創建、版本、操作等)的文件格式API。強烈推薦!專門識別光學標識並管理轉換的API控制項Aspose.OMR! Aspose.OMR fo ...
  • 1、Response.Write()打開新視窗 Response.Write(" <script type='text/JavaScript'>window.open('" + url + "','_blank'); </script>"); 2、asp.net打開新視窗的多種方法 1.Respon ...
  • VS2019 .Net Core 3.0 Web 項目啟用動態編譯 ...
  • 當我們談論一些GIS API時,首先想到的是渲染高級地圖文件。近期,慧都推出了一款能夠讀取,編寫和轉換最流行的GIS文件格式,例如ESRI Shapefile和GeoJSON,而無需任何其他軟體的API控制項——Aspose.GIS。 那麼,你知道Aspose.GIS同樣擁有強大的地圖渲染功能嗎?下麵 ...
  • 從2017年6月畢業到現在,不斷的學習.net,在工作中不斷的加強技術,終於在此時此刻決定開通博客,記錄此後每一天學習的技術點,兩年來,每天所涉及的技術點很雜,學了這個忘了那個,總感覺在進步卻總是覺得很多東西又不是很會,有些 代碼需要寫好幾遍才能記得住,但是時間一長還是會忘記,但是從今天開始,我會把 ...
  • 1.使用NUGET安裝PuppeteerSharp 通過工具或者命令方式安裝 2.初始化瀏覽器 await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); 3.具體代碼 using (Browser browse ...
  • fail2ban是一款非常實用的安全軟體,通過監視系統日誌,設置錯誤登陸次數,可阻擋暴力密碼攻擊。 1.安裝epelyum install epel-release -y 2.安裝fail2banyum install fail2ban -y 3.配置cd /etc/fail2ban/cp jail ...
一周排行
    -Advertisement-
    Play Games
  • JWT(JSON Web Token)是一種用於在網路應用之間傳遞信息的開放標準(RFC 7519)。它使用 JSON 對象在安全可靠的方式下傳遞信息,通常用於身份驗證和信息交換。 在Web API中,JWT通常用於對用戶進行身份驗證和授權。當用戶登錄成功後,伺服器會生成一個Token並返回給客戶端 ...
  • 老周在幾個世紀前曾寫過樹莓派相關的 iOT 水文,之所以沒寫 Nano Framework 相關的內容,是因為那時候這貨還不成熟,可玩性不高。不過,這貨現在已經相對完善,老周都把它用在項目上了——第一個是自製的智能插座,這個某寶上50多塊可以買到,搜“esp32 插座”就能找到。一種是 86 型盒子 ...
  • 引言 上一篇我們創建了一個Sample.Api項目和Sample.Repository,並且帶大家熟悉了一下Moq的概念,這一章我們來實戰一下在xUnit項目使用依賴註入。 Xunit.DependencyInjection Xunit.DependencyInjection 是一個用於 xUnit ...
  • 在 Avalonia 中,樣式是定義控制項外觀的一種方式,而控制項主題則是一組樣式和資源,用於定義應用程式的整體外觀和感覺。本文將深入探討這些概念,並提供示例代碼以幫助您更好地理解它們。 樣式是什麼? 樣式是一組屬性,用於定義控制項的外觀。它們可以包括背景色、邊框、字體樣式等。在 Avalonia 中,樣 ...
  • 在處理大型Excel工作簿時,有時候我們需要在工作表中凍結窗格,這樣可以在滾動查看數據的同時保持某些行或列固定不動。凍結窗格可以幫助我們更容易地導航和理解複雜的數據集。相反,當你不需要凍結窗格時,你可能需要解凍它們以獲得完整的視野。 下麵將介紹如何使用免費.NET庫通過C#實現凍結Excel視窗以鎖 ...
  • .NET 部署 IIS 的簡單步驟一: 下載 dotnet-hosting-x.y.z-win.exe ,下載地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com) .NET 部署 IIS 的簡單步驟二: 選擇對應的版本,點擊進入詳 ...
  • 拓展閱讀 資料庫設計工具-08-概覽 資料庫設計工具-08-powerdesigner 資料庫設計工具-09-mysql workbench 資料庫設計工具-10-dbdesign 資料庫設計工具-11-dbeaver 資料庫設計工具-12-pgmodeler 資料庫設計工具-13-erdplus ...
  • 初識STL STL,(Standard Template Library),即"標準模板庫",由惠普實驗室開發,STL中提供了非常多對信息學奧賽很有用的東西。 vector vetor是STL中的一個容器,可以看作一個不定長的數組,其基本形式為: vector<數據類型> 名字; 如: vector ...
  • 前言 最近自己做了個 Falsk 小項目,在部署上伺服器的時候,發現雖然不乏相關教程,但大多都是將自己項目代碼複製出來,不講核心邏輯,不太簡潔,於是將自己部署的經驗寫成內容分享出來。 uWSGI 簡介 uWSGI: 一種實現了多種協議(包括 uwsgi、http)並能提供伺服器搭建功能的 Pytho ...
  • 1 文本Embedding 將整個文本轉化為實數向量的技術。 Embedding優點是可將離散的詞語或句子轉化為連續的向量,就可用數學方法來處理詞語或句子,捕捉到文本的語義信息,文本和文本的關係信息。 ◉ 優質的Embedding通常會讓語義相似的文本在空間中彼此接近 ◉ 優質的Embedding相 ...