Mysql 在单个SQL查询中获取无条件和有条件的总和

Mysql 在单个SQL查询中获取无条件和有条件的总和,mysql,sql,select,Mysql,Sql,Select,我有一个数据库 create table payments ( id int not null auto_increment primary key, amount int, source varchar(255), dest varchar(255), ); 是否有可能在单个查询中获取数据,这样对于每个dest,我将有一行包含所有金额的总和,和金额总和,其中source='XXX'。您也可以根据您的具体情况在SUM中使用CASE,因此这将为您提供每个dest的金额总和,并且S

我有一个数据库

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

是否有可能在单个查询中获取数据,这样对于每个dest,我将有一行包含所有金额的总和,和金额总和,其中source='XXX'。

您也可以根据您的具体情况在SUM中使用
CASE
,因此这将为您提供每个
dest
的金额总和,并且
SUM\u 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

您要一行还是两行?谢谢,我没想到那个箱子可以用在sum语句中。
select dest, (select sum(amount) from payments where source = 'XXX'), sum(amount) from payments 
where source = 'XXX' group by dest;