mysql - 使用派生表列出员工及其工资占总工资的百分比
问题描述
我有一张包含姓名、工作、薪水等的表格。我想做的是列出所有姓名、薪水和第三列,其中他们的薪水占总薪水的百分比,就像这样。
桌子看起来像这样。
我是 mysql 新手,任何帮助都是很好的帮助。
谢谢
解决方案
您可以在子查询中计算总工资,然后将其与员工表交叉连接以进行计算,例如:
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
推荐阅读
- android - 我可以在我的 apk 中为 arm abi 使用预构建的共享库(.so),而无需 NDK?
- python - 正则表达式将符号插入数字字符串python
- android - 使用隐式意图在同一个应用程序中启动另一个活动
- .net - VB.NET 类在 COM 中获取程序集名称前面的名称?
- database - 数据库崩溃,Redis 单独停止
- javascript - 无法将 event.target 转换为字符串
- python - 相当于 Python 中的 evrnd(mu,sigma,m,n)
- git - 为什么 Heroku 每次都要安装这么多模块?
- c# - 如何在 ASP.NET Core 3.0 中使用 ValidationAttribute 验证多个操作参数
- css - 如何使用溢出使嵌套表在移动设备中可滚动:滚动无混蛋