首页 > 解决方案 > 使用派生表列出员工及其工资占总工资的百分比

问题描述

我有一张包含姓名、工作、薪水等的表格。我想做的是列出所有姓名、薪水和第三列,其中他们的薪水占总薪水的百分比,就像这样

桌子看起来像这样

我是 mysql 新手,任何帮助都是很好的帮助。

谢谢

标签: mysqlsql

解决方案


您可以在子查询中计算总工资,然后将其与员工表交叉连接以进行计算,例如:

SELECT
    emp.epname,
    emp.salary,
    emp.salary/tot.salary * 100
FROM 
    employees emp
    CROSS JOIN (
        SELECT SUM(salary) salary FROM employees 
    ) tot 

使用 MySQL 8.0,窗口函数更容易:

SELECT
    epname,
    salary,
    salary/(SUM(salary) OVER()) * 100
FROM employees 

推荐阅读