主题
分组查询
分组查询通过 GROUP BY
子句,将结果按一个或多个字段分组,通常与聚合函数一起使用,实现分类统计。
基本语法
sql
SELECT column1, 聚合函数(column2)
FROM table_name
GROUP BY column1;
示例
统计每个年龄段的用户数量:
sql
SELECT age, COUNT(*) AS user_count
FROM users
GROUP BY age;
查询每个邮箱域名的用户数:
sql
SELECT SUBSTR(email, INSTR(email, '@') + 1) AS domain, COUNT(*) AS count
FROM users
GROUP BY domain;
使用 HAVING 过滤分组结果
HAVING
用于过滤分组后的数据,类似于 WHERE
,但作用于分组结果。
统计用户数超过 5 的年龄:
sql
SELECT age, COUNT(*) AS user_count
FROM users
GROUP BY age
HAVING user_count > 5;
分组查询是数据分析的重要工具,有助于理解和挖掘数据的内在规律。