Sql select sum语句
我创建了这个select语句,我将转换为视图。我需要帮助。我需要能够在报告页面上添加少数民族总数=是和否显示总数Sql select sum语句,sql,Sql,我创建了这个select语句,我将转换为视图。我需要帮助。我需要能够在报告页面上添加少数民族总数=是和否显示总数 select ps.BidPackage_ID, ps.Project_ID, SUM (case ps.Minority when 'Yes' then 1 else 0 end) MinorityTotal, SUM (case ps.Gender when 'Female' then 1 else 0 end) FemaleTotal,
select
ps.BidPackage_ID,
ps.Project_ID,
SUM (case ps.Minority when 'Yes' then 1 else 0 end) MinorityTotal,
SUM (case ps.Gender when 'Female' then 1 else 0 end) FemaleTotal,
SUM(case ps.Cleveland_Resident when 1 then 1 else 0 end) ClevelandResidents,
ps.SubContractor
from
PersonnelSummary ps
group by
ps.BidPackage_ID,
ps.Project_ID,
ps.SubContractor
你几乎做到了:
...
SUM (case ps.Minority when 'Yes' then 1 else 0 end) AS MinorityYes,
SUM (case ps.Minority when 'No' then 1 else 0 end) AS MinorityNo,
COUNT(*) AS Total,
...
对于Total
我假设每一行都应该被计数。这是您想要的,如果:
- 列中唯一存在的值是“是”和“否”或
- 与“是”和“否”不同的值也应计入总数
- 你逼我们猜你想要什么。你们有很多人说他们是少数民族;你想数一数说不的人吗?或者你想数一数说“是”或“否”的人数,并排除那些拒绝回答或根本不回答的人
select
ps.BidPackage_ID,
ps.Project_ID,
SUM (case ps.Minority when 'Yes' then 1 else 0 end) MinorityTotalYes,
SUM (case ps.Minority when 'No' then 1 else 0 end) MinorityTotalNo,
SUM (case ps.Minority when 'Yes' then 1 when 'No' then 1 else 0 end)
AS StatedMinorityTotal,
SUM (case ps.Gender when 'Female' then 1 else 0 end) FemaleTotal,
SUM(case ps.Cleveland_Resident when 1 then 1 else 0 end) ClevelandResidents,
ps.SubContractor
from
PersonnelSummary ps
group by
ps.BidPackage_ID,
ps.Project_ID,
ps.SubContractor
SQL Server?还是别的?什么版本?我不清楚你到底想得到什么。你能包含一些样本数据和预期输出吗?或者试着用另一种方式解释它?所以“MinorityTotal”实际上是“Total”?