1,准备一张表
2,select * from goods where price >30
查询结果
3,select * from goods where price >30 group by type ; 完整语句
分组是按照id的顺序进行提取数据,这个是where ,group by查询结果
4,select * from goods group by type
先按照id顺序进行分组
5,select * from goods group by type having price >30; 完整语句
分组之后再筛选数据,这是group by having查询结果
总结:
where和having区别:
1,书写位置不同,where在groupby之前,having在groupby之后
2,执行顺序不同,where和group同时出现是先筛选后分组,having和groupby是
先分组后筛选,也就是where执行在分组之前,having执行在分组之后。
3,where后面的条件只能是表中的字段,having可是是聚合函数或者运算函数,
4,having要求条件的字段必须在查询的结果集中
考试小题目:
查询每门课都大于80分的学生姓名
select name from stu group by name having min(fenshu)>=80;
结果是王五。
https://blog.youkuaiyun.com/wikey_zhang/article/details/74911229
游标理解