当前位置:首页 » 《随便一记》 » 正文

mysql group by having 子句_hero_th的博客

5 人参与  2022年03月08日 15:58  分类 : 《随便一记》  评论

点击全文阅读


group by

先来看一个例子,理解一下group by 的用法 和 功能
例如这张表在这里插入图片描述
然后执行

select Email, count(Email) as num
from Person
group by Email;

效果如下
在这里插入图片描述

如果接下来 你还不能理解
在这里插入图片描述
执行sql

SELECT name FROM test GROUP BY name

构建一个虚拟表
在这里插入图片描述
group by 多个字段该怎么理解呢:如group by name,number,我们可以把name和number 看成一个整体字段,以他们整体来进行分组

在这里插入图片描述
如执行

select name,sum(id) from test group by name,number

效果如图
在这里插入图片描述
注意 :

  • group by 子句中的分组依据列必须是表中存在的列名 ,不能使用 as 子句指派的列别名。
  • 带有 group by 子句的select 语句的查询列表中只能出现分组依据列,因为,因为分组后的每个组只返回一行数据。

having

  • having 子句 用于对分组后的结果再进行筛选 ,它的功能有点儿像where 子句,但是它是专门用于组 而不是记录。
  • 在having 子句中可以使用统计函数,而在where 子句中不能。
  • having 子句通常跟group by 子句一起使用

附力扣原题,以助理解
在这里插入图片描述

select Email
from Person
group by Email
having count(Email) > 1;

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/35902.html

子句  分组  理解  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1