聚合函数和分组查询

--使用聚合函数查询计算
--求和的方式对表中的数据个数求和
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;

 

posted @ 2019-03-30 17:13  芯-觞  阅读(1062)  评论(0编辑  收藏  举报