博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle SQL Lesson (5) - 使用组函数输出聚合数据
阅读量:7196 次
发布时间:2019-06-29

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

组函数

AVG
COUNT
MAX
MIN
SUM
VARIANCE:方差
STDDEV:标准差

SELECT AVG(salary), MAX(salary), MIN(salary), SUM(salary)

FROM employees WHERE job_id LIKE '%REP%';

SELECT MIN(hire_date), MAX(hire_date) FROM employees;

COUNT(expr) 返回expr为非空值的行数:

SELECT COUNT(commission_pct) FROM employees WHERE department_id = 80;
select count(nvl(comm,0)) from emp;
select sum(comm),avg(comm) from emp;去除空值
select sum(comm),avg(nvl(comm,0)) from emp;

SELECT COUNT(DISTINCT department_id) FROM employees;

SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ;

SELECT AVG(salary) FROM employees GROUP BY department_id ;

Group by多列

SELECT department_id, job_id, SUM(salary) FROM employees WHERE department_id > 40
GROUP BY department_id, job_id
ORDER BY department_id;

group by不能使用别名,order by可以使用别名。

非法的组函数使用

SELECT department_id, COUNT(last_name) FROM employees;

SELECT department_id, job_id, COUNT(last_name) FROM employees GROUP BY department_id;
SELECT department_id, AVG(salary) FROM employees WHERE AVG(salary) > 8000 GROUP BY department_id;

正确使用having子句

SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];

SELECT department_id, MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000 ;

SELECT department_id, MAX(salary) FROM employees HAVING MAX(salary)>10000 GROUP BY department_id;

SELECT job_id, SUM(salary) PAYROLL FROM employees WHERE job_id NOT LIKE '%REP%'

GROUP BY job_id HAVING SUM(salary) > 13000 ORDER BY SUM(salary);

组函数嵌套

SELECT MAX(AVG(salary)) FROM employees GROUP BY department_id;
组函数只能嵌套一层,当行函数可以嵌套多层。必须跟group by。

转载于:https://www.cnblogs.com/thlzhf/p/3404080.html

你可能感兴趣的文章
屏蔽右键
查看>>
数值优化(三)
查看>>
连接池
查看>>
Retrofit 2.0使用
查看>>
win8 解析json数据模板 XMl解析数据
查看>>
Open day in microsoft
查看>>
java的安装环境配置详细步骤
查看>>
01数据库概述
查看>>
Gym 100496A Avangard Latin Squares(矩阵游戏)
查看>>
[设计模式]单例模式
查看>>
[设计模式之禅读书笔记]010_23种设计模式四:模板方法模式
查看>>
秀才与小女子
查看>>
地图位置定位的封装开发
查看>>
SaltStack-Master高可用
查看>>
MVC3快速搭建Web应用(二)
查看>>
C++ lambda
查看>>
Html的学习(二)
查看>>
表达式版本的生成器
查看>>
RH133读书笔记(2)-Lab 2 Working with packages
查看>>
将列表中的字符以‘*’连接生成一个新的字符串
查看>>