group

group

https://img1.sycdn.imooc.com//climg/6456251c0963217d03730422.jpg

这个句子是错误的吗?

结果是什么意思呢?

为什么还能运行出结果?

group by函数到底怎么使用呢

正在回答

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

1回答

同学,你好!1、不是错误

2、结果是按deptno 即部门进行分组,取分组后每组的第一个ename 即员工的名字作为显示结果

3、group by 是按照表中的某一个字段进行分组。对分组后的数据进行查询。如select sex, count(*) from a1 group by sex  是对a1表中的sex性别字段进行分组,计算不同性别有多少人,显示结果为:性别、性别的个数。

祝学习愉快~

  • 慕设计4457883 提问者 #1

    https://img1.sycdn.imooc.com//climg/64562fa309556db615430880.jpg

    那请问老师视频里为什么说这样是错误的呢?

    2023-05-06 18:45:04
  • 好帮手慕小猿 回复 提问者 慕设计4457883 #2

    同学,你好!因为有的mysql 版本默认是设置了sql_mode的ONLY_FULL_GROUP_BY参数,致使老师说的使用group by只能使用集合性质的聚合函数,单个数值不匹配。查询非group by的字段会报错

    https://img1.sycdn.imooc.com//climg/64585bae09d37fe209580106.jpg

    同学可以使用sql语句@@sql_mode 查询下结果是否含有only_full_group_by,若有则查询非group by的字段会报错

    https://img1.sycdn.imooc.com//climg/64585c5309cd37e607680129.jpg


    应尽量避免使用同学的查询语句。因为按照部门分组后,应该使用聚合函数查询部门的一些数值,如总人数、薪资平均值。若是分组后求员工姓名。那分组便没有意义了。

    祝学习愉快~


    2023-05-08 10:25:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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