关于mysql的查询

--使用聚合函数查询计算
--求和的方式对表中的数据个数求和
SELECT COUNT(*) AS '总数' FROM zhangwu;
--SUM 求和 sun(列名)
SELECT SUM(money) FROM zhangwu;
--求和 所有支出
SELECT SUM(money) FROM zhangwu WHERE sname LIKE '%支出%';
--MAX 获取最大值
SELECT MAX(money) FROM zhangwu;
--AVG 计算一个列的所有数据的平均数
SELECT AVG(money) FROM zhangwu;

having vs where
having是在分组后对数据进行过滤
where 是在分组前对数据进行过滤
having 后面可以使用分组函数
where 后面不允许使用分组函数
--分组查询
GROUP BY 被分组的列名
SELECT 字段1,字段2..from 表名 GROUP BY 字段 HAVING条件
SELECT SUM(money),sname FROM zhangwu GROUP BY sname;
--对sname 分组查询求和 但是只要支出的和
SELECT SUM(money) AS 'getsum',sname FROM zhangwu WHERE sname LIKE '%支出%' GROUP BY sname ORDER BY getsum ASC;
--对sname 内容进行分组查询求和 但只要支出 显示金额大于100
SELECT SUM(money) AS 'getsum',sname FROM zhangwu WHERE sname LIKE '%支出%' GROUP BY sname HAVING getsum>100;

原文地址:https://www.cnblogs.com/qurui1997/p/10628129.html