分组统计
来源:互联网 发布:刘亦婷混的好吗知乎 编辑:程序博客网 时间:2024/04/30 22:00
组函数的操作是基于一批行进行的,从而每一组得出一个结果。
组函数的类型 AVG、COUNT、MAX、MIN、STDDEV、SUM、VARIANCE
使用AVG和SUM函数
可对数值型数据使用AVG和SUM函数
SELECT AVG(salary),MAX(salary),MIN(salary),SUM(salary) FROM employees WHERE job_id LIKE '%';
使用MIN和MAX函数
可对任何类型的数据应用MIN和MAX函数
SELECT MIN(hire_date),MAX(hire_date) FROM employees;
COUNT(*)函数返回一张表的总行数
SELECT COUNT(*) FROM employees WHERE department_id = 50;
SELECR COUNT(commission_pct) FROM employees WHERE department_id = 80;
组函数忽略列中的空值
SELECT AVG(commission_pct) FROM employees;
NVL函数可强迫组函数包括空值
SELECT AVG(NVL(commission_pct,0)) FROM employees;
对数据进行分组:GROUP BY子句
所有在SELECT列表中出现的列,如果未使用组函数,那么它必须出现在GROUP BY子句中
SELECT department_id,AVG(salary) FROM employees GROUP BY department_id;
GROUP BY列不必出现在SELECT列表中
SELECT AVG(salary) FROM employees GROUP BY department_id;
基于多列使用GROUP BY子句
SELECT department_id dept_id,job_id, SUM(salary) FROM employees GROUP BY department_id,job_id;
注:1)在SELECT列表中的任何列或者表达式不是一个累积函数,则它必须出现在GROPU BY子句中
使用HAVING子句限定分组:
SELECT column,group_function FROM table [WHERE condition] [GROUP BY group_by_expression]
[HAVING group_condition] [ORDER BY column];
eg:SELECT department_id,MAX(salary) FROM employees GROUP BY department_id HAVING MAX(salary)>10000;
SELECT job_id,SUM(salary) PAYROLL FROM employees WHERE job_id NOT LIKE '%REP%' GROUP BY job_id HAVING SUM(salary)>13000;
- 分组统计
- 分组统计
- 分组统计
- 分组统计
- 分组统计
- 分组统计
- mysq 分组统计 avg分组统计
- 关于分组统计
- sql分组统计语句
- 按周分组统计
- 按里程碑分组统计
- 按月分组统计
- oracle分组统计
- oracle sql 分组统计
- sql 分组统计
- 分组统计二
- oracle分组统计sql
- [转]sql分组统计
- 【OpenEXR】HDRITools的使用
- C++学习笔记:16章 泛型编程
- 大数相加 相乘
- 系统自带样式Android:theme
- 线程间操作无效:从不是创建控件“XX”的线程访问它
- 分组统计
- 字符串输入输出cin.get的用法
- Android中theme的用法
- java编码问题
- linux port ip
- 寻找链表倒数第K个结点
- 用Javascript编写Chrome浏览器插件
- RMQ(Range Minimum/Maximum Query)算法(nyist119)
- Apache Ant对决Make:实战Java构建工具