函数、分组与二次过滤
聚合查询
对某个列某个字段的值进行查询,返回一个单一的值。
1.Count()
#查询一个表一共有多少条数据
SELECT COUNT(1) FROM 表名;
#查询一个表满足条件的一共有多少条数据
SELECT COUNT(1) FROM person WHERE class=6;#()内非空值即可
2.max()
求最大值
SELECT max(price) FROM 表名;
3.min()
求最小值
SELECT min(price) FROM 表名;
4.avg()
求平均值
SELECT avg(price) FROM 表名;
5.sum()
求和
SELECT sum(price) FROM 表名;
分组查询:Group by
#拿到每一个组的数据量
示例:SELECT `SUBJECT`,COUNT(1) FROM person GROUP BY `SUBJECT`;
精华:按照什么进行分组,就对什么进行group by ,group by什么,就select什么
二次过滤:having
紧跟group by分组之后的二次过滤
示例:SELECT `SUBJECT`,COUNT(1) cn FROM person WHERE class !=1 AND id !=7 GROUP BY `SUBJECT` HAVING cn>1 order by desc;
查询顺序:
From-->where-->group by-->select-->having-->order by
having可以写聚合函数,但是where里面不能写聚合函数
where是第一次过滤,having是第二次过滤
1949

被折叠的 条评论
为什么被折叠?



