获取无条件总和并在单个SQL查询中进行条件化

时间:2014-09-16 16:31:43

标签: mysql sql select

我有一个数据库

create table payments (
  id int not null auto_increment primary key,
  amount int,
  source varchar(255),
  dest varchar(255),
);

是否有可能以一种方式在单个查询中获取数据,因此对于每个目标,我将有一个具有所有金额的SUM的行,以及其中的金额为SUM =' XXX'。

2 个答案:

答案 0 :(得分:1)

根据您的具体情况,您也可以使用CASE总和,这样您就可以得到每destsum_xxx的金额总和,每个dest的金额总和其中source是xxx

select dest,
sum(amount) dest_sum,
sum(case when source ='xxx' then amount else 0 end) sum_xxx
 from payments 
group by dest

答案 1 :(得分:0)

select dest, (select sum(amount) from payments where source = 'XXX'), sum(amount) from payments 
where source = 'XXX' group by dest;