group by

GROUP BY = 分类统计就是:先把东西分堆,再算每堆有多少、多大、平均多少。

规则 1
GROUP BY 后面写什么,SELECT 后面才能写什么不能多写别的字段!
比如:
sql
SELECT deptno, ename -- ❌ 错!ename 不是分组字段
FROM emp
GROUP BY deptno;


SELECT 里除了分组字段,只能写统计函数
统计函数就这 5 个:
COUNT (*) → 数有多少个
AVG (字段) → 算平均值
MAX (字段) → 找最大
MIN (字段) → 找最小
SUM (字段) → 求和


最常见的 3 个用法(你工作最常用)

  1. 统计每组多少人
    sql
    SELECT deptno, COUNT(*)
    FROM emp
    GROUP BY deptno;
  2. 算每组平均值
    sql
    SELECT deptno, AVG(sal)
    FROM emp
    GROUP BY deptno;
  3. 按其他字段分组(比如奖金)
    sql
    SELECT comm, COUNT(*)
    FROM emp
    GROUP BY comm;

GROUP BY = 分堆 + 统计
先把一样的放一堆
再对每堆算个数、平均值、总和
SELECT 只能写:分组的字段 + 统计函数
写别的普通字段(比如姓名)必报错

————————————————————————————————————————————————————————————————————

SELECT 里面:
✅ 可以写:分组字段✅ 可以写:聚合函数(count、avg、max、min、sum)
❌ 不能写:普通字段

posted @ 2026-04-24 17:28  菜鸟的奋斗军  阅读(22)  评论(0)    收藏  举报