mysql语句 group by having

本文通过具体示例介绍了SQL中使用GROUP BY与HAVING子句的方法。首先解释了如何利用GROUP BY对数据进行分组,接着展示了如何结合COUNT函数统计各组内特定字段的重复次数,并最终使用HAVING子句筛选出满足条件的分组。

一个大神写的 having和group by的理解

这个博客写的不错,一下就通透了点。


select id,name, count(name) from tb_user 

从tb用户中选择id、name、count(name)

从上面的语句,可以看出 是找id,名字,name的重复数;当然是查不到什么的。


 

select id,name, count(name) from tb_user group by name;

这句话就可以看出来什么了。 前面的一样,只是加了个分组。就是把id,name先给分了组,然后分别统计分组前的结果集中,有几个一样的name。count(name)这里就写上1,1,23,4。这样的统计结果。代表着查询的分组前的结果集中,以name为这一列中,有同样的name值的分别有1个,1个,23个,4个。  


select id,name, count(name) as  numAAAA     from tb_user group by name having   numAAAA >1 ;

这个其实就是针对count(name) 这一列进行操作的。同时操作的对象也是分组后的数据。就是找出count(name)这一列中,

数值>1的数据。结果就是 23 和 4 的这两行的数据。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值