當前位置:成語大全網 - 書法字典 - MySQL分組和排序

MySQL分組和排序

在最後壹個聚合函數的末尾使用了GROUP BY,但沒有詳細介紹它。本文主要介紹GROUP BY的使用。順便介紹壹下過濾關鍵字HAVING用於分組查詢的用法。

在MySQL中,GROUP BY關鍵字可以根據壹個或多個字段對查詢結果進行分組,類似於Excel中的數據透視表。可以單獨使用,但通常與聚合函數結合使用。

語法格式如下:

下面的演示基於與大區域相對應的省份的簡單表格。

單獨使用GROUP BY

單獨使用GROUP BY關鍵字時,查詢結果將只顯示每個組的第壹條記錄。

根據表中的省份進行匯總,查詢全國* * *分為幾個地區,SQL語句如下↓

按關聯聚合函數分組

上壹篇文章已經詳細介紹了五個聚合函數的用法,GROUP BY和聚合函數的組合也是最常見的。讓我們繼續使用省份表來找出每個地區有多少個省份,對應的聚合函數是COUNT函數。SQL語句如下↓

通過組合GROUP_CONCAT進行分組

這也是壹個非常有用的功能。GROUP_CONCAT()函數將把每個組的字段值組合成壹行並顯示出來。

繼續使用下面的省份表,在壹行中顯示每個地區對應的省份,用分號分隔。SQL語句如下↓

通過與匯總組合進行分組

WITH POLLUP關鍵字用於在所有記錄的末尾添加壹條記錄,該記錄是上面所有記錄的總和。SQL語句如下↓

通過組合HAVING進行分組

在MySQL中,可以使用HAVING關鍵字過濾分組數據。

使用HAVING關鍵字的語法格式如下:

HAVING關鍵字和WHERE關鍵字都可以用於過濾數據,並且HAVING支持WHERE關鍵字中的所有運算符和語法。但是,WHERE和HAVING關鍵字之間有幾個區別:

讓我們篩選有七個或更多省份的地區。SQL語句如下↓

組合排序依據

匯總數據也需要對半排序。匯總的查詢結果按ORDER BY排序,省份數量從大到小排序。SQL語句如下。

結束

◆ PowerBI開場白

◆ Python高德地圖可視化

◆ Python不規則條形圖