最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL使用GROUP BY分組查詢

 更新時(shí)間:2024年08月04日 09:44:57   作者:Itmastergo  
GROUP BY關(guān)鍵字可以根據(jù)一個(gè)或多個(gè)字段對(duì)查詢結(jié)果進(jìn)行分組,本文主要介紹了MySQL使用GROUP BY分組查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在 MySQL 中,GROUP BY 關(guān)鍵字可以根據(jù)一個(gè)或多個(gè)字段對(duì)查詢結(jié)果進(jìn)行分組。

使用 GROUP BY 關(guān)鍵字的語(yǔ)法格式如下:

GROUP BY  <字段名>

其中,“字段名”表示需要分組的字段名稱(chēng),多個(gè)字段時(shí)用逗號(hào)隔開(kāi)。

GROUP BY單獨(dú)使用

單獨(dú)使用 GROUP BY 關(guān)鍵字時(shí),查詢結(jié)果會(huì)只顯示每個(gè)分組的第一條記錄。

例 1

下面根據(jù) tb_students_info 表中的 sex 字段進(jìn)行分組查詢,SQL 語(yǔ)句和運(yùn)行結(jié)果如下:

mysql> SELECT `name`,`sex` FROM tb_students_info 
    -> GROUP BY sex;
+-------+------+
| name  | sex  |
+-------+------+
| Henry | 女   |
| Dany  | 男   |
+-------+------+
2 rows in set (0.01 sec)

結(jié)果中只顯示了兩條記錄,這兩條記錄的 sex 字段的值分別為“女”和“男”。

GROUP BY 與 GROUP_CONCAT() 

GROUP BY 關(guān)鍵字可以和 GROUP_CONCAT() 函數(shù)一起使用。GROUP_CONCAT() 函數(shù)會(huì)把每個(gè)分組的字段值都顯示出來(lái)。

例 2

下面根據(jù) tb_students_info 表中的 sex 字段進(jìn)行分組查詢,使用 GROUP_CONCAT() 函數(shù)將每個(gè)分組的 name 字段的值都顯示出來(lái)。SQL 語(yǔ)句和運(yùn)行結(jié)果如下:

mysql> SELECT `sex`, GROUP_CONCAT(name) FROM tb_students_info 
    -> GROUP BY sex;
+------+----------------------------+
| sex  | GROUP_CONCAT(name)         |
+------+----------------------------+
| 女   | Henry,Jim,John,Thomas,Tom  |
| 男   | Dany,Green,Jane,Lily,Susan |
+------+----------------------------+
2 rows in set (0.00 sec)

由結(jié)果可以看到,查詢結(jié)果分為兩組,sex 字段值為“女”的是一組,值為“男”的是一組,且每組的學(xué)生姓名都顯示出來(lái)了。

例 3

下面根據(jù) tb_students_info 表中的 age 和 sex 字段進(jìn)行分組查詢。SQL 語(yǔ)句和運(yùn)行結(jié)果如下:

mysql> SELECT age,sex,GROUP_CONCAT(name) FROM tb_students_info 
    -> GROUP BY age,sex;
+------+------+--------------------+
| age  | sex  | GROUP_CONCAT(name) |
+------+------+--------------------+
|   21 | 女   | John               |
|   22 | 女   | Thomas             |
|   22 | 男   | Jane,Lily          |
|   23 | 女   | Henry,Tom          |
|   23 | 男   | Green,Susan        |
|   24 | 女   | Jim                |
|   25 | 男   | Dany               |
+------+------+--------------------+
7 rows in set (0.00 sec)

上面實(shí)例在分組過(guò)程中,先按照 age 字段進(jìn)行分組,當(dāng) age 字段值相等時(shí),再把 age 字段值相等的記錄按照 sex 字段進(jìn)行分組。

多個(gè)字段分組查詢時(shí),會(huì)先按照第一個(gè)字段進(jìn)行分組。如果第一個(gè)字段中有相同的值,MySQL 才會(huì)按照第二個(gè)字段進(jìn)行分組。如果第一個(gè)字段中的數(shù)據(jù)都是唯一的,那么 MySQL 將不再對(duì)第二個(gè)字段進(jìn)行分組。

GROUP BY 與聚合函數(shù)

在數(shù)據(jù)統(tǒng)計(jì)時(shí),GROUP BY 關(guān)鍵字經(jīng)常和聚合函數(shù)一起使用。

聚合函數(shù)包括 COUNT(),SUM(),AVG(),MAX() 和 MIN()。其中,COUNT() 用來(lái)統(tǒng)計(jì)記錄的條數(shù);SUM() 用來(lái)計(jì)算字段值的總和;AVG() 用來(lái)計(jì)算字段值的平均值;MAX() 用來(lái)查詢字段的最大值;MIN() 用來(lái)查詢字段的最小值。

例 4

下面根據(jù) tb_students_info 表的 sex 字段進(jìn)行分組查詢,使用 COUNT() 函數(shù)計(jì)算每一組的記錄數(shù)。SQL 語(yǔ)句和運(yùn)行結(jié)果如下:

mysql> SELECT sex,COUNT(sex) FROM tb_students_info 
    -> GROUP BY sex;
+------+------------+
| sex  | COUNT(sex) |
+------+------------+
| 女   |          5 |
| 男   |          5 |
+------+------------+
2 rows in set (0.00 sec)

結(jié)果顯示,sex 字段值為“女”的記錄是一組,有 5 條記錄;sex 字段值為“男”的記錄是一組,有 5 條記錄。

GROUP BY 與 WITH ROLLUP

WITH POLLUP 關(guān)鍵字用來(lái)在所有記錄的最后加上一條記錄,這條記錄是上面所有記錄的總和,即統(tǒng)計(jì)記錄數(shù)量。

例 5

下面根據(jù) tb_students_info 表中的 sex 字段進(jìn)行分組查詢,并使用 WITH ROLLUP 顯示記錄的總和。

mysql> SELECT sex,GROUP_CONCAT(name) FROM tb_students_info 
    ->GROUP BY sex WITH ROLLUP;
+------+------------------------------------------------------+
| sex  | GROUP_CONCAT(name)                                   |
+------+------------------------------------------------------+
| 女   | Henry,Jim,John,Thomas,Tom                            |
| 男   | Dany,Green,Jane,Lily,Susan                           |
| NULL | Henry,Jim,John,Thomas,Tom,Dany,Green,Jane,Lily,Susan |
+------+------------------------------------------------------+
3 rows in set (0.00 sec)

查詢結(jié)果顯示,GROUP_CONCAT(name) 顯示了每個(gè)分組的 name 字段值。同時(shí),最后一條記錄的 GROUP_CONCAT(name) 字段的值剛好是上面分組 name 字段值的總和。

到此這篇關(guān)于MySQL使用GROUP BY分組查詢的文章就介紹到這了,更多相關(guān)MySQL GROUP BY分組查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL觸發(fā)器實(shí)現(xiàn)兩表數(shù)據(jù)同步的代碼詳解

    MySQL觸發(fā)器實(shí)現(xiàn)兩表數(shù)據(jù)同步的代碼詳解

    在數(shù)據(jù)庫(kù)應(yīng)用中,我們經(jīng)常需要對(duì)數(shù)據(jù)進(jìn)行某些操作,并在操作完成后進(jìn)行相應(yīng)的處理,這時(shí)候,可以使用觸發(fā)器來(lái)實(shí)現(xiàn)這些功能,MySQL提供了強(qiáng)大的觸發(fā)器功能,本文將給大家詳細(xì)介紹MySQL觸發(fā)器實(shí)現(xiàn)兩表數(shù)據(jù)同步,需要的朋友可以參考下
    2023-12-12
  • MySQL數(shù)據(jù)類(lèi)型與表操作全指南(?從基礎(chǔ)到高級(jí)實(shí)踐)

    MySQL數(shù)據(jù)類(lèi)型與表操作全指南(?從基礎(chǔ)到高級(jí)實(shí)踐)

    本文詳解MySQL數(shù)據(jù)類(lèi)型分類(lèi)(數(shù)值、日期/時(shí)間、字符串)及表操作(創(chuàng)建、修改、維護(hù)),涵蓋優(yōu)化技巧如數(shù)據(jù)類(lèi)型選擇、備份、分區(qū),強(qiáng)調(diào)規(guī)范設(shè)計(jì)與實(shí)際應(yīng)用結(jié)合,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-08-08
  • 一文詳解MySQL?Join使用原理

    一文詳解MySQL?Join使用原理

    JOIN是一種非常常見(jiàn)的操作,用于將兩個(gè)或多個(gè)表中的數(shù)據(jù)合并到一個(gè)結(jié)果集中。MySQL支持多種JOIN類(lèi)型,本文通過(guò)代碼示例詳細(xì)介紹了Join的使用優(yōu)化,有需要的小伙伴可以參考閱讀
    2023-04-04
  • 提高M(jìn)ySQL深分頁(yè)查詢效率的三種方案

    提高M(jìn)ySQL深分頁(yè)查詢效率的三種方案

    這篇文章介紹了提高M(jìn)ySQL深分頁(yè)查詢效率的三種方案,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • ubuntu下磁盤(pán)空間不足導(dǎo)致mysql無(wú)法啟動(dòng)的解決方法

    ubuntu下磁盤(pán)空間不足導(dǎo)致mysql無(wú)法啟動(dòng)的解決方法

    昨天又遇到了MySQL數(shù)據(jù)庫(kù)無(wú)法重啟的問(wèn)題,還以為是權(quán)限的原因,后來(lái)發(fā)現(xiàn)提示是因?yàn)榇疟P(pán)空間不足導(dǎo)致的,通過(guò)查找相關(guān)資料得以解決了,所以下面這篇文章主要介紹了ubuntu下磁盤(pán)空間不足導(dǎo)致mysql無(wú)法啟動(dòng)的解決方法,需要的朋友可以參考下。
    2017-03-03
  • MySQL之常用的MySQL優(yōu)化工具解讀

    MySQL之常用的MySQL優(yōu)化工具解讀

    這篇文章主要介紹了MySQL之常用的MySQL優(yōu)化工具,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 使用phpMyAdmin批量修改Mysql數(shù)據(jù)表前綴的方法

    使用phpMyAdmin批量修改Mysql數(shù)據(jù)表前綴的方法

    這篇文章主要介紹了使用phpMyAdmin批量修改Mysql數(shù)據(jù)表前綴的方法,需要的朋友可以參考下
    2015-09-09
  • mysql 5.7.13 winx64安裝配置方法圖文教程(win10)

    mysql 5.7.13 winx64安裝配置方法圖文教程(win10)

    這篇文章主要為大家分享了mysql 5.7.13 winx64安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL動(dòng)態(tài)字符串處理DYNAMIC_STRING

    MySQL動(dòng)態(tài)字符串處理DYNAMIC_STRING

    本文主要給大家簡(jiǎn)單講解了mysql如何使用DYNAMIC_STRING來(lái)進(jìn)行動(dòng)態(tài)字符串的保存,非常的實(shí)用,有需要的小伙伴可以參考下
    2016-10-10
  • Mysql中文亂碼問(wèn)題的最佳解決方法

    Mysql中文亂碼問(wèn)題的最佳解決方法

    這篇文章主要介紹了Mysql中文亂碼問(wèn)題的最佳解決方法,需要的朋友可以參考下
    2014-07-07

最新評(píng)論

淮滨县| 平凉市| 祁阳县| 开封县| 宁津县| 铅山县| 怀仁县| 河源市| 卢湾区| 汉中市| 赣州市| 商洛市| 保康县| 灵寿县| 枣阳市| 安化县| 普格县| 渝中区| 城市| 年辖:市辖区| 正定县| 同江市| 鹤峰县| 木里| 尼勒克县| 泊头市| 南汇区| 通许县| 镇江市| 金坛市| 涿鹿县| 贵南县| 达尔| 景谷| 肃北| 盈江县| 瑞丽市| 余庆县| 团风县| 文登市| 安远县|