[英]sum of column in sql server
您可以使用COALESCE
:
coalesce(emp_name,'Total') as emp_name
在您的查询中:
select coalesce(emp_name,'Total') as emp_name,
SUM(emp_salary) as salary
from employe
group by emp_name WITH ROLLUP
order by emp_name desc
这是另一种解决方案,其中表行和总数之间的顺序更加明确。 看来您希望所有员工薪水行后跟底部的总数。 注意:在这种特定情况下,大力水手/松鼠的答案可能更好,但无论如何发现这很有趣。
这对于想要 output 两组记录并控制组和每个组内的顺序的人也可能有用。
将两组(或更多)记录获取到 output 并添加一个“隐藏”的Order
字段,用于在外部 select 中控制组的顺序。
;with salaries as (select '0' as [Order], emp_name, emp_salary from employe),
total as (select '1' as [Order], 'Total' as emp_name , SUM(emp_salary) as salary from employe)
select emp_name, emp_salary
from (
select * from salaries
union all
select * from total
) a
order by [Order], emp_name desc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.