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

举报
黄啊码 发表于 2022/07/17 22:14:56 2022/07/17
【摘要】 大家好!我是黄啊码,上节课留的作业大家都做了吗?没做的话回去做完再来听课。 好了,先来解答上节课留下的问题: 我们在数据库表中新增一列user_height表示身高,然后拿到所有数据: 我们如果单单用user_age来分组看看结果如何: 你:这也太简单了吧,我来: select * from user_info gr...

大家好!我是黄啊码,上节课留的作业大家都做了吗?没做的话回去做完再来听课。

好了,先来解答上节课留下的问题:

我们在数据库表中新增一列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分组的就讲到这里。周末了,就不消耗大家的娱乐时间了,我们下周再见,别忘了一键三连哦,当做给黄啊码深夜码字的鼓励吧,谢啦。

我是黄啊码,码字的码,退。。。退。。。退。。。朝! 

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。