【黄啊码】MySQL入门—5、数据库小技巧:单个列group by就会,多个列呢? ...

打印 上一主题 下一主题

主题 737|帖子 737|积分 2221

大家好!我是黄啊码,上节课留的作业大家都做了吗?没做的话回去做完再来听课。
好了,先来解答上节课留下的问题:
我们在数据库表中新增一列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分组的就讲到这里。周末了,就不消耗大家的娱乐时间了,我们下周再见,别忘了一键三连哦,当做给黄啊码深夜码字的鼓励吧,谢啦。
我是黄啊码,码字的码,退。。。退。。。退。。。朝!

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表