【黄啊码】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分组的就讲到这里。周末了,就不消耗大家的娱乐时间了,我们下周再见,别忘了一键三连哦,当做给黄啊码深夜码字的鼓励吧,谢啦。
我是黄啊码,码字的码,退。。。退。。。退。。。朝!
- 点赞
- 收藏
- 关注作者
评论(0)