Mysql之分组查询,Group By,Group Having的用法
【摘要】 一、group by 的用法group by ,在mysql中用来给字段分组,sql语句如下,这是一条用来统计男女数量的sql语句。这里我们要注意到,group by ,一定是和聚合函数配合使用的,而不能直接使用select *,当然,select * 他也不会报错,也会给你一个结果,但是这个结果往往不是我们想要的,如下。下面是原表的数据这里我们直接使用了group by对性别分组,但是只...
一、group by 的用法
group by ,在mysql中用来给字段分组,sql语句如下,这是一条用来统计男女数量的sql语句。
这里我们要注意到,group by ,一定是和聚合函数配合使用的,而不能直接使用select *,当然,select * 他也不会报错,也会给你一个结果,但是这个结果往往不是我们想要的,如下。
下面是原表的数据
这里我们直接使用了group by对性别分组,但是只查出了两条数据,因为gender只有两个值。
group by 时,相对于把group字段相同的数据,共用一个值,你可以如下理解。
之后使用聚合函数,就是对每个分组值的数据分别聚合。
二、 having的用法
having和where有类似的地方,都是对数据进行筛选。
where是筛选的对象是,from之后的数据,而where不能作用于聚合函数。
having是筛选group by后面的数据,having可以对普通字段进行筛选,也可以对聚合函数或者聚合函数的别名进行筛选。如下,having对聚合函数的结果进行筛选,判断某个性别数量是否大于3的结果,这里使用where就不行,会报错。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)