聚合函数
SQL中提供的聚合函数可以用来统计、求和、求最值等等。

此处采用Oracle 11g中其他用户SCOTT中的EMP表,进行演示。

COUNT:统计行数量

COUNT(*)统计的是结果集的总条数,而count(字段)统计的是该字段中不为null的总条数

1、查询有多少岗位

 selete count(distinct job) from emp;

2、查询员工总数 入职时间 最高工资 工资总额 平均工资

 selete count(empno),
to-char(min(hiredate),'yyyy-mm-dd')||'----'||to_char(max(hiredate),'yyyy-mm-dd') as 入职时间,
max(sal),sum(sal),avg(sal)
from emp;

SUM:获取单个列的合计值

3、查询工资总额

 selete sum(sal) from emp;

AVG:计算某个列的平均值
MAX:计算列的最大值
MIN:计算列的最小值

4、查询最早入职时间

 selete min(hiredate) from emp;

group by 分组函数 一般与聚合函数组合用

5、查询每个岗位最高工资

 selete job,max(sal) from emp group by job;

6、查询岗位平均工资>2500

易错:

 select job,avg(sal)
from emp
group by job
where sal>2500

当改写成:

  select job,avg(sal)
from emp
where sal>2500
group by job

执行结果:

虽然能执行出结果,但是它是将所有大于2500的工资的岗位,集合在一起,算平均工资,不符合要求。

应该改成:

 select job,avg(sal)
from emp
group by job
having round(avg(sal))>2500

执行结果:

wherehaving的区别:

  • where仅仅用于处理从from子句中返回的值。
  • having子句通常是与order by子句一起使用的,因为having的作用是对使用group by进行分组统计后的结果再进行下一步的筛选。

7、查询每个部门员工的平均工资 最高工资 工资总额 根据工资总额排序

 selete deptno ,round(avg(sal)),max(sal),sum(sal)
from emp
group by deptno
order by sum(sal)

执行结果:

总结:SQL的执行顺序:
         –第一步:执行FROM
         –第二步:WHERE条件过滤
         –第三步:GROUP BY分组
         –第四步:执行SELECT投影列
         –第五步:HAVING条件过滤
         –第六步:执行ORDER BY 排序

最新文章

  1. Eclipse 各版本版本号代号对应一览表
  2. sql 中 left join 的使用
  3. Github上十大C#开源项目排行榜
  4. JavaScript中清空数组的三种方式
  5. 【java开发系列】—— spring简单入门示例
  6. 【LeetCode】264. Ugly Number II
  7. [iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01
  8. 淮安团购网美团联盟网赚版 v5.7
  9. ios开发图片点击放大
  10. [改善Java代码]Lock与synchronized是不一样的
  11. CentOS安装Nginx安装详解
  12. Spring-----自定义属性编辑器
  13. SQL Server 多表删除
  14. [HNOI 2015]开店
  15. SDL 开发实战(七): SDL 多线程与锁机制
  16. CSS布局-flex布局入门教程
  17. VC调用静态库、动态库
  18. Ctrl+Alt+Down/Up 按键冲突
  19. 讲解wpe抓包,封包
  20. 【原创 Hadoop&Spark 动手实践 8】Spark 应用经验、调优与动手实践

热门文章

  1. vue的全局方法和局部方法
  2. 说明Heap与stack的差别。
  3. Termux 一款安卓终端模拟器
  4. HDU 6249 Alice’s Stamps(dp)
  5. 使用python读取yaml文件
  6. SqlDataAdapter介绍【五】
  7. react面试问题总结
  8. IPC 之 Binder 初识
  9. python 汉字编码问题
  10. (转)Linux下设置和查看环境变量