求员工的平均工资MySQL sql 查询平均工资和差值 |
您所在的位置:网站首页 › 如何求收入 › 求员工的平均工资MySQL sql 查询平均工资和差值 |
1.1 计算平均值 从emp表查询全部员工得平均工资,同时也查询每个部门得平均工资 计算所有员工的平均工资,只需要针对SAL列调用AVG函数即可。AVG函数会计算所有非NULL的值。 SELECT AVG(sal) AS avg_sal FROM emp计算每个部门的平均工资 1.2 查找最小值和最大值 查找EMP表全体员工的最低工资和最高工资 SELECT MIN(sal) AS min_sal,MAX(sal) AS max_sal FROM emp查找部门里的最低工资和最高工资(有些部门只有一个人,所以最大值和最小值一样) SELECT MIN(sal) AS min_sal,MAX(sal) AS max_sal FROM emp GROUP BY deptnoMIN函数和MAX函数会忽略null,而查询过程可能会遇到null分组,也可能在一个分组里遇到null值。比如下面查询的某些分组会烦返回null值 SELECT deptno,comm FROM emp ORDER BY 1
1.3 求和 计算EMP表全体员工的工资总和 SELECT SUM(sal) FROM emp如歌把数据分为多组,就需要使用SUM函数和GROUP BY 子句。 按照部门员工计算的工资总额 SELECT deptno,SUM(sal) AS total_dept FROM emp GROUP BY deptno
当计算各部门的工资总额时,其实是在怼数据进行分组。对于每个部门而言,所有员工的工资会被相加,并得出总和。SUM函数会忽略NULL,但是在查询过程可能会遇到NULL分组。举例计算COMM的总和会烦恼null SELECT deptno,comm FROM emp ORDER BY 11.4 计算行数 得出EMP表员工总数 SELECT COUNT(*) FROM emp各部门的员工数量 SELECT deptno,COUNT(*) FROM emp GROUP BY deptno1.5 计算非null值得个数 查询有多少名员工获得提成(即COMM列不为空) SELECT COUNT(comm) FROM emp当执行COUNT(*)操作时,实际上是在统计行数,而不会去管实际得值是上面,这就是为什么NULL值和非NULL值都会被计入总数。但是,如果只是针对某一列执行COUNT操作,得到得结果是该列非NULL的个数。 1.6 累计求和 计算全体员工工资的累计额。 SELECT e.`ENAME`,e.`SAL`, (SELECT SUM(d.`SAL`) FROM emp d WHERE d.empno |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |