ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【黄啊码】MySQL入门—5、数据库小技巧:单个列group by就会,多个列呢? [打印本页]

作者: 来自云龙湖轮廓分明的月亮    时间: 2022-8-31 01:40
标题: 【黄啊码】MySQL入门—5、数据库小技巧:单个列group by就会,多个列呢?
大家好!我是黄啊码,上节课留的作业大家都做了吗?没做的话回去做完再来听课。
好了,先来解答上节课留下的问题:
我们在数据库表中新增一列user_height表示身高,然后拿到所有数据:
 
 
 
我们如果单单用user_age来分组看看结果如何:
你:这也太简单了吧,我来:
select * from user_info group by user_age;

 
 
你:这。。。好像跟我想象的结果不同;
黄啊码:好玩吗?惊不惊喜,意不意外?
咱们不直接说答案,就讲讲为啥这样,如果你英语水平很一般,那咱们直接借助翻译工具:
 
这翻译水平,墙都不得不扶。
我来总结一下吧:简而言之就是这里边user_id不是聚合列,在功能上也不是groug by所需要的字段。
你:user_id不行?那user_name呢?
select user_name from user_info group by user_age;
 
黄啊码:user_name也不行,就算天王老子来了也不行。
你:那user_age总行了吧?
黄啊码:我发觉大聪明最近有长进了
select user_age from user_info group by user_age;
 
确实是可以的,这里就相当于把user_age当成聚合列来使用。
你:哈哈哈,终于让我做对了一次
黄啊码:是吗?那昨天的作业该咋做
你:您请,我怕说错挨揍
如果使用多个字段进行分组的话,很简单,直接在group by后边加上另外的字段即可。
你:这么简单,早知道。。。
黄啊码:啪,哪有那么多早知道。
select user_age from user_info group by user_age,user_height;
 
黄啊码:如果想要把user_height这个字段也查出来呢?该咋办?
你:简单,那就在from前边把user_height加上不就行了。
黄啊码:啪,没白教你,打你一下当做赏你了。
你:【下次再也不出风头了】
select user_age,user_height from user_info group by user_age,user_height;
 
好了,多个列进行group by分组的就讲到这里。周末了,就不消耗大家的娱乐时间了,我们下周再见,别忘了一键三连哦,当做给黄啊码深夜码字的鼓励吧,谢啦。
我是黄啊码,码字的码,退。。。退。。。退。。。朝!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4