温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

sql怎么统计分组数量

发布时间:2026-10-27 21:55:10 来源:亿速云 阅读:97 作者:小樊 栏目:数据库

在 SQL 中,“统计分组数量”通常有两种理解,下面分别说明:


一、统计每个分组内的记录数

这是最常见的情况,使用 GROUP BY + COUNT()。

示例

SELECT dept_id, COUNT(*) AS emp_count
FROM employee
GROUP BY dept_id;

✅ 含义:按 dept_id 分组,统计每个部门的员工数量。


二、统计一共有多少个分组

也就是:分组之后,组的数量是多少。

方法 1:子查询(最通用)

SELECT COUNT(*) AS group_count
FROM (
    SELECT dept_id
    FROM employee
    GROUP BY dept_id
) t;

方法 2:统计去重值(等价写法)

SELECT COUNT(DISTINCT dept_id) AS group_count
FROM employee;

⚠️ 注意:如果分组字段可能有 NULL,COUNT(DISTINCT) 不统计 NULL。


三、常见变体

1️⃣ 带条件的分组统计

SELECT dept_id, COUNT(*)
FROM employee
WHERE salary > 5000
GROUP BY dept_id;

2️⃣ 分组后筛选(HAVING)

SELECT dept_id, COUNT(*) AS cnt
FROM employee
GROUP BY dept_id
HAVING COUNT(*) > 10;

3️⃣ 多字段分组

SELECT dept_id, job, COUNT(*)
FROM employee
GROUP BY dept_id, job;

如果你有具体的表结构或业务场景(比如“统计每个用户下单次数大于 3 的次数”),可以直接发出来,我可以帮你写精确 SQL。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手