我有一个数据库
create table payments (
id int not null auto_increment primary key,
amount int,
source varchar(255),
dest varchar(255),
);
是否有可能以一种方式在单个查询中获取数据,因此对于每个目标,我将有一个具有所有金额的SUM的行,以及其中的金额为SUM =' XXX'。
答案 0 :(得分:1)
根据您的具体情况,您也可以使用CASE
总和,这样您就可以得到每dest
和sum_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;