文档章节

跟小博老师一起学习数据库 ——GROUP BY

博为峰教研组
 博为峰教研组
发布于 2017/04/09 17:31
字数 425
阅读 4
收藏 0

当要根据某些条件对数据分组时,就要使用到GROUP BY语句。GROUP BY语句可结合聚合函数使用,分组条件可是一个也可以是多个。

语法

注意:

使用GROUP BY语句后,查询的只能是出现在GROUP BY子句中的列使用了聚合函数列。

我们还是使用EMP表来做些练习

 

1. 查询有个工种

 

2. 查询每个工种每月所需支付的基本工资

 

3. 查询每个部门平均工资

 

4. 查询每个部门中各个工种的最低工资

 

5. 查询每个工种的最高基本工资,并按基本工资从大到小排序

 

6. 查询除了20部门以外其它部分的平均工资

 

HAVING子

如要对分组后的结果过滤,就不能使用WHERE子句了,应该要使用HAVING增加过滤条件。

例有这样一个需求“查询平均工资大于3000的工种信息”,很多学员可能写成这样

 

以上的SQL语句是错误的,原因是聚合函数(AVG()函数)不能出现WHERE子句中。

我们应调整成以下语句

 

WHERE与HAVING的区别在于WHERE是先对数据过滤HAVING是以分组后的数据再过滤,在某可互

我们一起看个题:

查询除了CLERK,MANAGER工种以外的工种最高基本工资。

WHERE写

 

HAVING写

 

  以上两种写法都能达到预期目标,但查询过程完全不相同,小伙伴自己实际操作操作吧。

© 著作权归作者所有

共有 人打赏支持
上一篇: JavaSE 对象流
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
小博老师经验分享 ——如何选择一门开发语言

[引言] 很多希望进入软件开发行业的朋友,经常会问小博老师一个问题,到底选择哪门编程语言好呢?又或是在各大论坛搜索开发语言排名。确实,对于第一次学习软件开发的朋友,选择一定要谨慎,...

博为峰教研组
2016/12/12
2
0
GROUP BY另类优化技巧

分享嘉宾:知数堂〖SQL开发优化班〗讲师郑松华,韩国Infobridge的SQL优化专家&7年SQL开发和调优经验&资深数据库工程师。 本次主题《GROUP BY另类优化技巧》,主要内容是从 GROUP BY、ORDER B...

iMySQL | 老叶茶馆
2017/04/15
0
0
程序员,快通知你们老板上吴恩达的最新AI课

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/84076519 是的,吴恩达老师又出新的 AI 课程了,不愧是劳模中的劳模。 新...

AI科技大本营
2018/11/14
0
0
小博老师解析Java核心技术 ——JSwing选择型控件

[引言] 我们在学习Java编程的时候,如果需要开发客户端窗体类型的程序,可以使用JDK中的awt和swing库。本文开始小博老师就继续为大家演示Java窗体编程中的各类控件,今天主要讲解的是各类选择...

博为峰教研组
2016/12/21
5
0
小博老师IT从业心得 ——给年轻程序员的建议

[引言] 偶尔的,小博老师会被朋友问道:如何成为一名优秀的程序员,更或者,如何成为一名程序员。每次人们问起,小博老师都力图给出不同的答案。因此,我的答案是各种各样的。下面就是小博老...

博为峰教研组
2016/11/30
6
0

没有更多内容

加载失败,请刷新页面

加载更多

HTTP 304状态码

客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified ...

Jack088
23分钟前
2
0
MyBatis学习笔记(二)

mybatis执行过程架构图 1、mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。 mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql...

梦想_与_现实
27分钟前
0
0
分布式锁简单入门以及三种实现方式介绍

分布式锁简单入门以及三种实现方式介绍

zbbmaster
38分钟前
2
0
PHP接收前端传值各种情况整理

PHP接收前端传值各种情况整理 服务端代码: header('Access-Control-Allow-Origin:*');var_dump($_POST);exit; 情况 1) 传null $.post('http://xxxxx.xx/index.php', { "test": null}......

SSSWIIILLL
今天
5
0
利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
今天
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部