为什么两句运行不一样,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(数字):按照查询的子段位置去分组,必须是可以分组的字段。

http://img.mukewang.com/climg/5d634a6c0001d4e608650405.jpg

http://img.mukewang.com/climg/5d634ac500012f0008130337.jpg

http://img.mukewang.com/climg/5d634ae70001bfa408430305.jpg

having一般情况下和group by使用,从每个组中按照having子句进行筛选。

直接使用having则·直接从整张表中进行筛选。

select deptno,count(*) from t_emp
having deptno in (10,20);

查询出来的是10部门和20部门总共有多少条记录。

http://img.mukewang.com/climg/5d634da500017be302390088.jpg

select deptno,count(*) from t_emp

HAVING deptno in (10, 20);

先按照deptno分组,再去筛选在10,和20部门的记录,分别输出。

http://img.mukewang.com/climg/5d634e2b0001fa4502930120.jpg

如果我解决了同学的问题,请采纳!学习愉快^_^。


0

DragonCai

2019-08-25

having必须要配合group by来使用,group by 1其实就是让having能够使用。

0
hragonCai
h group by 1 意思是按第一列分组
h019-08-25
共1条回复

0 学习 · 2669 问题

查看课程