博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql having,group by查询去除重复记录
阅读量:7027 次
发布时间:2019-06-28

本文共 974 字,大约阅读时间需要 3 分钟。

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

 

转载于:https://www.cnblogs.com/as3lib/p/6625013.html

你可能感兴趣的文章
git记住用户名密码
查看>>
ElasticSearch(2)-安装ElasticSearch
查看>>
从mysql数据表中随机取出一条记录
查看>>
ORACLE 锁表处理,解锁释放session
查看>>
二.hadoop环境搭建
查看>>
深海机器人问题
查看>>
ios开发之 -- invalid nib registered for identifier
查看>>
MySQL 通过semi join 优化子查询
查看>>
socket编程-服务器端
查看>>
L181 The microscopic structure of a cat’s tongue helps keep its fur clean
查看>>
django序列化单表的4种方法的介绍
查看>>
迭代(遍历)时候不可以使用集合的remove和add方法,但可使用Java迭代器的remove和add方法...
查看>>
记录MYSQL中SQL语句的一个坑.
查看>>
网页基础
查看>>
在Oracle中设置主键自增
查看>>
正则表达式(括号)、[中括号]、{大括号}的区别小结
查看>>
HTML基础第十讲---排版卷标
查看>>
88.NODE.JS加密模块CRYPTO常用方法介绍
查看>>
java.net.ProtocolException: Exceeded stated content-length of: '13824' bytes
查看>>
asp.net 连接 oracle10g 数据库
查看>>