什么是分组查询?
在实际应用中,可能有这样的需求,需要先进行分组,然后对每一组数据进行操作
这个时候需要使用分组查询
语法: select ... from ... group by;
关键字组合,看一下他们的执行顺序 select ... from ... where ... group by ... order by ... 以上关键字的顺序不能颠倒 执行顺序: 1.from 2.where 3.group by 4.select 5.order by 为什么分组函数不能直接使用在where后面? select id,name,age from info where age > min(age);//报错 因为分组函数在使用的时候必须先分组之后才能使用 where执行的时候还没有分组,所以where后面不能出现分组函数 select sum(age) from info; 为什么这个没有分组可以用? 因为select在group by后面执行
重点结论:
在一条select语句当中,如果有group by语句的话,
select后面只能跟:参加分组的字段,以及分组函数
其他的一律不能跟