为什么两句运行不一样,group by 1什么时候用

为什么两句运行不一样,group by 1什么时候用

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);

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手乔木 2019-08-26 11:13:16

同学你好:

group by num(数字):按照查询的子段位置去分组,必须是可以分组的字段。

http://img1.sycdn.imooc.com//climg/5d634a6c0001d4e608650405.jpg

http://img1.sycdn.imooc.com//climg/5d634ac500012f0008130337.jpg

http://img1.sycdn.imooc.com//climg/5d634ae70001bfa408430305.jpg

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

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

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

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

http://img1.sycdn.imooc.com//climg/5d634da500017be302390088.jpg

select deptno,count(*) from t_emp

HAVING deptno in (10, 20);

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

http://img1.sycdn.imooc.com//climg/5d634e2b0001fa4502930120.jpg

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


DragonCai 2019-08-25 15:28:02

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

  • group by 1 意思是按第一列分组
    2019-08-25 15:32:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师