select sum(amount), employee from
(select
amount, case when employee = 'a' then employee else 'Rest' end as employee
from table t) t1
group by employee;
select (case when employee = 'a' then employee else 'rest' end) as employee,
sum(amount)
from t
group by (case when employee = 'a' then employee else 'rest' end) ;
3条答案
按热度按时间kcrjzv8t1#
使用case转换employee值,并对转换后的值进行分组:
您也可以使用union:
后一种方法可能会更占用资源,但可能更易于理解和维护,因此您需要判断您是看重直接的性能还是对开发人员友好(对于一个每天对100名员工运行一次的查询,你可以说让查询更容易理解会更好。对于一个每秒访问数万名员工的查询,性能应该优先)
vsmadaxz2#
请使用下面的查询,
plicqrtu3#
使用
case
表达式group by
密钥:这是一把小提琴(这碰巧使用mysql,但这是标准sql,可以在任何数据库中使用。)