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;