为什么两句运行不一样,group by 1什么时候用
来源:1-1 课程介绍
一只可爱的orange
2019-08-24 11:40:09
select deptno,count(*) from t_emp
group by 1 having deptno in (10,20);
select deptno,count(*) from t_emp
having deptno in (10,20);
2回答
好帮手乔木
2019-08-26
同学你好:
group by num(数字):按照查询的子段位置去分组,必须是可以分组的字段。



having一般情况下和group by使用,从每个组中按照having子句进行筛选。
直接使用having则·直接从整张表中进行筛选。
select deptno,count(*) from t_emp
having deptno in (10,20);
查询出来的是10部门和20部门总共有多少条记录。

select deptno,count(*) from t_emp
HAVING deptno in (10, 20);
先按照deptno分组,再去筛选在10,和20部门的记录,分别输出。

如果我解决了同学的问题,请采纳!学习愉快^_^。
DragonCai
2019-08-25
having必须要配合group by来使用,group by 1其实就是让having能够使用。