sql group by 与 having的用法 - Myhsg - 博客园
独自等待
dedicated to the one that got away from you
随笔 - 109 文章 - 0 评论 - 35 博客园 首页 新随笔 联系 管理 订阅
发表评论 #1楼 2008-11-20 19:57 | hls 顶~ 支持(0)反对(0) #2楼 2008-12-03 11:30 | 夜风偷情 顶啊.... 支持(0) 反对(0) #3楼 2009-10-12 09:40 | 风华少年 goods #4楼 2009-11-12 21:42 | 安羽. 很短很有用. 支持(0) 反对(0) http://pic.cnblogs.com/face/u90133.jpg #5楼 2010-04-13 14:50 | Cat Qi 很好 支持(0) 反对(0) http://pic.cnblogs.com/face/u72042.gif #6楼37700572017/8/29 23:11:54 2017-08-29 23:11 | 刘道浩 针对你说的"group by 后面没有出现的字段,可以写在select后面吗?前提是对这个字段不用聚合函数的话。 "
小弟有一事不明,我用navicat测试,是可以的。比如,有一个表的字段有student_id,student_name,java_teacher。现在执行以下sql语句:
SELECT student_name ,java_teacher FROM student_table4 GROUP BY student_name;
返回的数据集的字段有student_name和java_teacher。我已经测试了,是可以的,只不过显示的java_teacher是在表中第一次出现的数据。楼主自己也可以试试。 支持(0) 反对(0) 刷新评论刷新页面返回顶部 注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。 【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【促销】腾讯云技术升级10大核心产品年终让利
【推荐】高性能云服务器2折起,0.73元/日节省80%运维成本
【新闻】H3 BPM体验平台全面上线
最新IT新闻:
· 张志东:腾讯是如何成长为一家大公司的
· 从黑客到创业,他说技术创业该这么做!
· 阿里安全技术平台资深专家玄泰揭秘:“如何防止信息泄露”
· 除了谷歌AI中国中心成立的重磅消息,大会现场还有这些好玩的
· 创业者的恐慌:及时止损,还是坚守到底?
» 更多新闻...
最新知识库文章:
· 以操作系统的角度述说线程与进程
· 软件测试转型之路
· 门内门外看招聘
· 大道至简,职场上做人做事做管理
· 关于编程,你的练习是不是有效的?
» 更多知识库文章...
园龄:9年4个月
粉丝:11
关注:0 +加关注
dedicated to the one that got away from you
随笔 - 109 文章 - 0 评论 - 35 博客园 首页 新随笔 联系 管理 订阅
sql group by 与 having的用法
1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用
group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要)
例如,有如下数据库表:
A B
1 abc
1 bcd
1 asdfg
如果有如下查询语句(该语句是错误的,原因见前面的原则)
select A,B from table group by A
该查询语句的意图是想得到如下结果(当然只是一相情愿)
A B
abc
1 bcd
asdfg
右边3条如何变成一条,所以需要用到聚合函数,如下(下面是正确的写法):
select A,count(B) as 数量 from table group by A
这样的结果就是
A 数量
1 3
2. Having
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。通常,你需要通过在HAVING子句中重复聚合函数表达式来引用聚合值,就如你在SELECT语句中做的那样。例如:
SELECT A COUNT(B) FROM TABLE GROUP BY A HAVING COUNT(B)>2
posted on 2008-08-05 19:48 Myhsg 阅读(16790) 评论(6) 编辑 收藏
发表评论 #1楼 2008-11-20 19:57 | hls 顶~ 支持(0)反对(0) #2楼 2008-12-03 11:30 | 夜风偷情 顶啊.... 支持(0) 反对(0) #3楼 2009-10-12 09:40 | 风华少年 goods #4楼 2009-11-12 21:42 | 安羽. 很短很有用. 支持(0) 反对(0) http://pic.cnblogs.com/face/u90133.jpg #5楼 2010-04-13 14:50 | Cat Qi 很好 支持(0) 反对(0) http://pic.cnblogs.com/face/u72042.gif #6楼37700572017/8/29 23:11:54 2017-08-29 23:11 | 刘道浩 针对你说的"group by 后面没有出现的字段,可以写在select后面吗?前提是对这个字段不用聚合函数的话。 "
小弟有一事不明,我用navicat测试,是可以的。比如,有一个表的字段有student_id,student_name,java_teacher。现在执行以下sql语句:
SELECT student_name ,java_teacher FROM student_table4 GROUP BY student_name;
返回的数据集的字段有student_name和java_teacher。我已经测试了,是可以的,只不过显示的java_teacher是在表中第一次出现的数据。楼主自己也可以试试。 支持(0) 反对(0) 刷新评论刷新页面返回顶部 注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。 【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【促销】腾讯云技术升级10大核心产品年终让利
【推荐】高性能云服务器2折起,0.73元/日节省80%运维成本
【新闻】H3 BPM体验平台全面上线
最新IT新闻:· 张志东:腾讯是如何成长为一家大公司的
· 从黑客到创业,他说技术创业该这么做!
· 阿里安全技术平台资深专家玄泰揭秘:“如何防止信息泄露”
· 除了谷歌AI中国中心成立的重磅消息,大会现场还有这些好玩的
· 创业者的恐慌:及时止损,还是坚守到底?
» 更多新闻...
最新知识库文章:· 以操作系统的角度述说线程与进程
· 软件测试转型之路
· 门内门外看招聘
· 大道至简,职场上做人做事做管理
· 关于编程,你的练习是不是有效的?
» 更多知识库文章...
公告
昵称:Myhsg园龄:9年4个月
粉丝:11
关注:0 +加关注
|
||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|---|---|---|---|---|---|
| 27 | 28 | 29 | 30 | 31 | 1 | 2 |
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | 1 | 2 | 3 | 4 | 5 | 6 |
搜索
常用链接
随笔分类
随笔档案
- 2010年3月 (2)
- 2010年1月 (8)
- 2009年12月 (4)
- 2009年11月 (1)
- 2009年10月 (4)
- 2009年9月 (7)
- 2009年8月 (7)
- 2009年7月 (18)
- 2009年6月 (6)
- 2009年5月 (5)
- 2009年4月 (2)
- 2009年3月 (5)
- 2009年2月 (1)
- 2008年10月 (1)
- 2008年8月 (32)
- 2008年7月 (6)
.NET
搜索引擎
最新评论
- 1. Re:Linux多进程编程(转)
- 上述fork创建子进程时不会交替出现
- --Adison1
- 2. Re:sql group by 与 having的用法
- 针对你说的"group by 后面没有出现的字段,可以写在select后面吗?前提是对这个字段不用聚合函数的话。 "小弟有一事不明,我用navicat测试,是可以的。比如,有一个表的字段有studen......
- --刘道浩
- 3. Re:C++静态成员函数小结(转)
- 第五个gcc里测试通过。
是不是因为static不是属于对象的,是属于整个类的,所以常成员函数里面的const对static变量不起作用? - --ziyoudefeng
- 4. Re:sql group by 与 having的用法
- 很好
- --喵 喵
- 5. Re:数据库外键 可以为空
- 懵了!我学习的怎么一会可以为空一会不可以为空!
- --沐紫菀
阅读排行榜
- 1. html input中 button和submit的区别 (转帖)(24957)
- 2. C++静态成员函数小结(转)(24919)
- 3. sql group by 与 having的用法(16786)
- 4. SQL Select 1 与 Select null 的理解(摘录归纳)(4906)
- 5. 数据库外键 可以为空(3724)
评论排行榜
- 1. 熟女给老实木讷男孩的恋爱建议(转帖)(12)
- 2. sql group by 与 having的用法(6)
- 3. 决定做一个积极的程序员(3)
- 4. 数据库外键 可以为空(3)
- 5. 搞技术的不要浮躁(2)