繁体   English   中英

将两个Select Sum语句合并为一个

[英]Combining Two Select Sum Statements Into One

我的表中有两个语句,可以像这样分别正常工作:

SELECT fee_earner, (SUM(fe_fees)) AS Total
FROM fees
GROUP BY fee_earner
order by Total desc;

SELECT supervisor, (SUM(sv_fees)) AS Total
FROM fees
GROUP BY supervisor
order by Total desc;

但是在某些情况下,fee_earner和supervisor字段与数据具有相同的人员,是否有办法将这两个语句组合为一个以获取总和?

您可以为此使用union all

SELECT person, sum(fe_fees) as fe_fees, sum(sv_fees) as sv_fees,
       (sum(fe_fees) + sum(sv_fees)) as total
FROM ((select fee_earner as person, fe_fees as fe_fees, 0 as sv_fees, 'earner' as which
       from fees
      ) union all
      (select supervisor as person, 0 as fe_fees, sv_fees as sv_fees, 'supervisor' as which
       from fees
      )
     ) t
GROUP BY person
order by Total desc;
select
    fee_earner, SUM(fe_fees) as total, SUM(sv_fees) as total2, 
    SUM(fe_fees) + SUM(sv_fees) as wholeTotal
from 
    fees 
group by 
    fee_earner, supervisor 
order by 
    Total desc;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM