数据库(分组函数)
来源:互联网 发布:淘宝66大促是什么活动 编辑:程序博客网 时间:2024/04/30 08:58
分组函数:对表中一组记录进行操作,每次只返回一个结果。
常用的函数有:MIN,MAX,SUM,AVG,COUNT等
MIN和MAX返回每组的最小值和最大值。
eg:select min(salary),max(salary) from employees;
SUM和AVG函数分别返回总和平均值。
eg:select sum(salary),avg(salary) from emloyees;
count函数主要返回每组的记录条数。
eg:select count(*) from employees where job_id=' ';
GROUP BY...HAVING 子句的使用。
组函数忽略空值,可以使用NVL,NVL2,COALESCE函数处理空值
eg:相同职位相同经理的员工的平均工资。
select job_id,manager_id,avg(salary)
from employees
group by job_id,manager_id
*GROUP BY 子句注意问题:
1.GROUP BY 子句后面的列可以不再SELECT 语句中出现。
2.SELECT 子句中出现的 “非分组函数 ” 必须在GROUP BY子句中出现
HAVING子句。
错误示例:
select job_id,max(salary)
from employees
where max(salary)>=8888
group by job_id;
原因是查询语句的执行顺序是:from where group by select order by
正确示例:
select job_id,max(salary)
from employees
group by job_id
having max(salary)>8888;
总结SELECT语句执行过程:
– 通过FROM子句中找到需要查询的表;
– 通过WHERE子句进行非分组函数筛选判断;
– 通过GROUP BY子句完成分组操作;
– 通过HAVING子句完成组函数筛选判断;
– 通过SELECT子句选择显示的列或表达式及组函数;
– 通过ORDER BY子句进行排序操作。
eg:
select department_id,max(salary)
from employees
where department_id between 30 and 90
group by department_id
having max(salary)>8888
order by max(salary);
- 数据库(分组函数)
- 数据库分组和分组函数
- 数据库分组函数
- 【数据库】分组函数
- 【Oracle数据库】分组函数
- 数据库分组函数count(1)
- 数据库Oracle之分组函数
- 数据库中的分组函数+练习题
- oracle数据库中的分组函数
- mysql 数据库笔记-基本查询(分组、聚合函数)
- 数据库学习—高级分组(聚合)函数
- Oracle数据库之SQL分组函数
- 数据库之聚合函数与分组
- oracle数据库(统计函数和分组查询)
- 数据库(关联查询 分组)
- 组函数(聚合函数),分组函数
- Oracle(五)---------------------分组函数
- 分组与分组函数
- Spring Bean的5种作用域
- Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
- 编程相关的认知科学
- 《实体解析与信息质量》 - 目录
- Objective-C中多态、动态类型和动态绑定
- 数据库(分组函数)
- Mac os下的一些常用命令
- unresolved external symbol __imp__timeGetTime@0
- 常见排序选择、冒泡、插入
- membership(5)----实战篇
- Unity3D在Android设备上返回按钮失效解决办法
- Nginx.conf介绍
- 分享osg+osgEarth环境配置及相关知识
- 水晶报表乱码