MySQL 分组学习笔记
MySQL中的分组(Group By)功能可以将数据按照指定的列进行分组,并对每个分组进行统计、汇总等操作。
基本语法
sqlCopy CodeSELECT 列1, 列2, ... , 列n, 函数1(列x), 函数2(列y), ... , 函数m(列z)
FROM 表名
WHERE 条件表达式
GROUP BY 列1, 列2, ... , 列n
HAVING 分组条件表达式
说明:
SELECT
子句:查询的列以及需要进行聚合计算的列;FROM
子句:要查询的表;WHERE
子句:查询的条件,可选项;GROUP BY
子句:按照哪个或哪些列进行分组;HAVING
子句:根据分组后的结果做进一步的筛选,可选项。
示例
sqlCopy Code-- 按部门分组,同时计算平均工资
SELECT dept_name, avg(salary)
FROM employee
GROUP BY dept_name;
-- 按年份、季度分组,同时计算各个分组的销售额
SELECT year(sales_date) as year, quarter(sales_date) as quarter, SUM(amount) as total_sales
FROM sales
GROUP BY year, quarter;
-- 按性别分组,筛选出平均年龄大于30岁的人
SELECT sex, avg(age) as avg_age
FROM person
GROUP BY sex
HAVING avg_age > 30;
以上是MySQL分组的基本语法和示例,希望对你的学习有所帮助。