首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 常用聚合函數詳解:AVG、COUNT、MIN/MAX、SUM、GROUP_CONCAT 完整語法與實例

     編輯:MySQL 綜合教學

MySQL 常用聚合函數詳解:AVG、COUNT、MIN/MAX、SUM、GROUP_CONCAT 完整語法與實例

AVG(col)

返回指定欄位平均值,忽略 NULL。

COUNT(col)

返回指定欄位非 NULL 個數。COUNT(*) 統計總行數(含 NULL)。

MIN(col) / MAX(col)

返回指定欄位最小/最大值,忽略 NULL。

SUM(col)

返回指定欄位所有非 NULL 值之和。

GROUP_CONCAT — 群組字串拼接神器

GROUP_CONCAT([DISTINCT] expr [,expr ...]
  [ORDER BY {unsigned_integer | col_name | expr} [ASC|DESC] [,col_name ...]]
  [SEPARATOR str_val])

實戰範例

-- 基本用法
SELECT id, GROUP_CONCAT(name) FROM my_table GROUP BY id;

-- 自定義分隔符
SELECT id, GROUP_CONCAT(name SEPARATOR ';') FROM my_table GROUP BY id;

-- 組內排序
SELECT id, GROUP_CONCAT(name ORDER BY id) FROM my_table GROUP BY id;

-- 排序 + 分隔符
SELECT id, GROUP_CONCAT(name ORDER BY id SEPARATOR ';') FROM my_table GROUP BY id;

注意:group_concat_max_len 預設 1024 字節,長字串會被截斷,需調大:SET SESSION group_concat_max_len = 1000000;

聚合函數共同特性

  • 自動忽略 NULL 值(除 COUNT(*))
  • 常搭配 GROUP BY 使用
  • 可作為窗口函數(MySQL 8.0+)

掌握 GROUP_CONCAT 可大幅簡化應用層拼接邏輯,特別適用於標籤彙總、關聯明細合併等場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved