/*
实例3:按部门统计工资人数
可能的sql
select deptno from dept; 查出所有的部门号 光标1
select sal from emp where deptno= 光标1中的值
*/

set serveroutput on
declare
  --定义部门光标
  cursor dcorsor is select deptno from dept;
  pdno dept.deptno% TYPE;--保存部门号
  --定义某部门下的员工光标
  cursor cemp(dno number) is select sal from emp where deptno = dno;
  psal emp.sal% TYPE;--保存员工薪水
  --计数器
  count1 number;--6000
  count2 number;--3000~6000
  count3 number;--<3000
  psalTotal number;--工资总额
begin
  --获取部门号
  open dcorsor;
  loop
    --取部门
    fetch dcorsor into pdno;
    exit when dcorsor%notfound;
    --初始化
    count1 := 0;count2 := 0;count3 := 0;psalTotal :=0;
    --select sum(sal) into psalTotal from emp where empno=pdno;
    --取该部门中的员工
    open cemp(pdno);
      loop
        --取一个员工
        fetch cemp into psal;
        exit when cemp%notfound;
       
        --判断
        if psal <= 3000 then count3 := count3 + 1;
        ELSIF  psal >3000 and psal <= 6000 then count2 := count2 + 1;
        else  count1 := count1+ 1;
        end if;
        --工资总额
        psalTotal := psalTotal + psal;
      end loop;
    close cemp;--完成一个部门
   
    --保存结果
    insert into msg1 values(pdno, count3,count2,count1, psaltotal);
    commit;
   
  end loop;
  close dcorsor;
 
  dbms_output.put_line('完成');
end;
/

实例3:按部门统计工资人数相关推荐

  1. 部门平均工资mysql_按部门统计各工资级别的人数、平均工资。

    部门名称 0--1000 1000--2000 2000--3000 3000--5000 5000+ 平均工资 技术部 0 0 3 10 5 4000 业务部 1 1 6 4 8 5000 客户服务 ...

  2. excel教程中daverage函数应用实例(一):统计部门平均工资

    在上一篇文章我们讲解了excel教程中daverage函数的用法,在本文我们将以一个实例来加以理解. 实例:统计特定部门平均工资 为方便显示,下图只截取了部分记录.下图是员工工资表,现在要统计出一部门 ...

  3. EXCEL基础:数据透视表(按年龄分组统计与统计各部门的工资情况)

    [按年龄分组进行统计]: 如下为原始数据,最后就是年龄字段: 选择数据单元格,在新表里插入[数据透视表],若数据透视表的[字段列表]没有显示,可以按照1标注那里勾选, 按照2处的列.行和统计值设置好, ...

  4. 牛客SQL22 统计各个部门的工资记录数

    描述 有一个部门表departments简况如下: 有一个,部门员工关系表dept_emp简况如下: 有一个薪水表salaries简况如下: 请你统计各个部门的工资记录数,给出部门编码dept_no. ...

  5. SQL22 统计各个部门的工资记录数

    文章目录 1. 题目 2. 题解 1. 题目 题目来源:SQL22 统计各个部门的工资记录数 题目描述 统计各个部门的工资记录数,给出部门编码dept_no.部门名称dept_name以及部门在sal ...

  6. MySQL期末考试题目 题目1:查询employee数据表中的第5—8行的数据;题目2:查询每个部门的员工人数以及平均工资;题目3:查询‘孙威’的基本信息,包括员工编号、所在部门名称、岗位等级以及基本

    上篇博客记录了我在mysql考试时遇到的报错,错过了考试时间[我不知道考试时间只有20分钟] 关于第二题,第三题,哪位大佬可以有点再简单的操作方法ma,或者其他方法,想学习学习,欢迎各位大佬指点指点! ...

  7. 统计各个部门的工资记录数

    sql实战 统计各个部门的工资记录数 问题描述 Sql语句 问题描述 统计各个部门的工资记录数,给出部门编码dept_no.部门名称dept_name以及次数sum CREATE TABLE depa ...

  8. html如何统计注册人数,excel怎么利用公式统计人数

    怎么使用EXCEL中的公式统计人数 EXCEL统计不重复姓名人数的个数 excel中怎么利用公式统计人数 下表中怎么使用EXCEL中的公式统计人数 工具/材料:EXCEL表格方法一在剪头所指的单位格中 ...

  9. 为员工长工资。从最低工资调起每人长10%,请计算长工资的人数和长工资后的工资总额,并输出输出长工资人数及工资总额。

    /* 为员工长工资.从最低工资调起每人长10%,但工资总额不能超过50万元, 请计算长工资的人数和长工资后的工资总额,并输出输出长工资人数及工资总额. 可能的sql: select empno,sal ...

最新文章

  1. 全球首条瓷绝缘子自动化生产线:黏土巧造“瓷器活”
  2. 线程安全机制 python
  3. 如何在线程中获取spring 管理的bean
  4. AutoHotkey 使用笔记
  5. pandas read_csv 出现中文乱码
  6. BeanUtils.copyProperties 需要getset方法支持
  7. tomcat8日志乱码_Tomcat输出日志乱码解决
  8. 安卓actionBar上无法显示搜索按钮如何解决
  9. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_21-页面静态化-静态化测试-静态化程序编写...
  10. Android 强升逻辑和实现
  11. linux pwm 调屏_linux驱动---bl_pwm驱动与backlight class实现背光调整
  12. 在python编译器中调用JAVA程序——JPype使用总结
  13. ncbi查找目的基因序列_如何用NCBI和uniprot数据库查找目的蛋白的氨基酸序列或目的基因的碱基序列...
  14. 解决appium中Error: The port #8100 is occupied by an other process的问题
  15. 欣赏的心态去发现生活中的美
  16. Oracle 协议设配器错误解决方案
  17. .net C# 堆 栈 垃圾回收 GC
  18. Ubuntu 18.04 LTS系统主题美化
  19. 解密暗池:那些不为人知的交易
  20. 有关系统DLL文件大全

热门文章

  1. OpenCASCADE绘制测试线束:拓扑命令之曲线和曲面拓扑
  2. OpenCASCADE:建模算法之隐藏线去除
  3. wxWidgets:wxDialUpManager类用法
  4. boost::::adaptors::indexed::indexed相关的测试程序
  5. boost::process::on_exit相关的测试程序
  6. boost::mp11::mp_less相关用法的测试程序
  7. boost::math::tools::centered_continued_fraction用法的测试程序
  8. boost::hana::sum用法的测试程序
  9. boost::geometry::model::multi_polygon用法的测试程序
  10. 宏FUSION_MAKE用法的测试程序