mysql having,group by查询去除重复记录

http://m.jb51.net/article/39302.htm

可以这样去理解group by和聚合函数

http://www.cnblogs.com/wuguanglei/p/4229938.html

聚合函数,聚合函数就用来输入多个数据,输出一个数据的

select ··· from ···
where ···(只能对分组前的属性进行筛选)
group by ···
having ···(只能对分组后的每个组的整体属性进行筛选,用聚合函数体现)
····
--不使用group by就默认表的整体为一组

 

HAVING 只能与 SELECT 语句一起使用。
HAVING 通常在 GROUP BY 子句中使用。
如果不使用 GROUP BY 子句,则 HAVING 的行为与 WHERE 子句一样。

 

建议你先看看SQLServer技术内幕T-SQL查询,第一章就告诉你SELECT的语句,ON/WHERE/HAVING是3个筛选条件,ON最先、where其次,having最后(前提是都出现了)。如果出现了group by 就一定要在group by后面,不过还是看看书,让书来告诉你吧。

 

第一次筛选用where,紧接着group by 分组,再次筛选则用having
eg:查询选课在三门以上且各门课程均及格的学生的学号及其总成绩,查询结果按总成绩降序列出。
程序清单如下:
SELECT SNO,SUM(SCORE) AS TotalScore 
FROM SC
WHERE SCORE>=60
GROUP BY SNO
HAVING COUNT(*)>=3
ORDER BY SUM(SCORE) DESC 

 

mysql运用groupby查询用户表,不同的IP的个数,并且有二次登陆的有效用户

SELECT member_username,member_join_ip,member_join_time,member_last_time,count(*) as ct
FROM `oss_member` GROUP BY member_join_ip HAVING member_last_time>member_join_time

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值