【发布时间】:2026-02-04 10:20:07
【问题描述】:
我有一张表(工资),工资按性别和职位分配。 我想显示我数据库中每个职位的性别结果加上总值。例如,对于第一个标题,我有以下代码:
select 'Female' as '____',
count(gender) as Number,
SUM(Salary) AS Total_Salary,
MIN(salary) AS Min_salary,
AVG(salary) AS Avg_Salary,
MAX(salary) AS Max_Salary
from Salaries
where gender= 'Female'
And Job_titel='Adm assistent'
union (
select 'Man' as '____',
count(gender) as Number,
SUM(Salary) AS Total_Salary,
MIN(salary) AS Min_salary,
AVG(salary) AS Avg_Salary,
MAX(salary) AS Max_Salary
from Salaries
where gender= 'Man'
AND Job_titel='Adm assistent')
union (
select 'Total' as '____',
count(gender) as Number,
SUM(Salary) AS Total_Salary,
MIN(salary) AS Min_salary,
AVG(salary) AS Avg_Salary,
MAX(salary) AS Max_Salary
from Salaries
where Job_titel ='Adm assistent' )
表格:
____ Number Tot_Salaries Min_Salaries Avg_Salaries Max_Salaries
----------------------------------------------------------
Female 142 1 000 000 XXXXXX XXXXXXX XXXXXXX
Male 18 300 000 XXXXXX XXXXXXX XXXXXXX
Total 160 1 300 000 XXXXXX XXXXXXX XXXXXXX
----------
现在我希望表格具有这样的性别分布百分比和薪水:
___ Number %_Gender Tot_Salaries % Min_Salaries Avg_Salaries Max_Salaries
Female 142 89 1 000 000 77 XXXXXX XXXXXXX XXXXXXX
Male 18 11 300 000 13 XXXXXX XXXXXXX XXXXXXX
Total 160 100 1 300 000 00 XXXXXX XXXXXXX XXXXXXX
----------
如何获得这两个分布值?我认为我的代码现在可能非常无效:-)我使用 MS sql server。
【问题讨论】:
-
将数据转储到临时表中并计算百分比。
标签: sql sql-server count distribution percentage