合并两个查询以获得 MySQL 中的单个结果
Merging two queries to get a single result in MySQL
我有以下两个代码,我需要用 'for_2018_19' 除以 'total' 得到百分比。我不知道如何合并它们并得到一个结果,即百分比。
select sum(maternities) as total from merged
where City = 'Jeza' and Group = 'Unknown';
select sum(Maternities) as for_2018_19 from merged
where Year = '2016/17') percentage ;
您使用 bth 查询作为唯一返回单个数据,作为子查询
但是你应该记住group是一个保留字,你应该避免它
SELECT
(select sum(maternities) from merged
where City = 'Jeza' and `Group` = 'Unknown')/
(select sum(Maternities) from merged
where Year = '2016/17') as percentage
select b.for_2018_19 / a.total
from ( select sum(maternities) as total
from merged
where City = 'Jeza'
and Group = 'Unknown' ) a
, ( select sum(Maternities) as for_2018_19
from merged
where Year = '2016/17'
) b
您接下来可以做的事情:
select
-- divide partial sum by total
sum(if(Year = '2016/17', maternities, 0)) /
sum(if((City = 'Jeza' and `Group` = 'Unknown'), maternities, 0))
from merged;
您还可以使用:
select sum(Maternities)*100.0/(select sum(maternities) as total from merged
where City = 'Jeza' and Group = 'Unknown') as percent from merged
where Year = '2016/17'
我有以下两个代码,我需要用 'for_2018_19' 除以 'total' 得到百分比。我不知道如何合并它们并得到一个结果,即百分比。
select sum(maternities) as total from merged
where City = 'Jeza' and Group = 'Unknown';
select sum(Maternities) as for_2018_19 from merged
where Year = '2016/17') percentage ;
您使用 bth 查询作为唯一返回单个数据,作为子查询
但是你应该记住group是一个保留字,你应该避免它
SELECT
(select sum(maternities) from merged
where City = 'Jeza' and `Group` = 'Unknown')/
(select sum(Maternities) from merged
where Year = '2016/17') as percentage
select b.for_2018_19 / a.total
from ( select sum(maternities) as total
from merged
where City = 'Jeza'
and Group = 'Unknown' ) a
, ( select sum(Maternities) as for_2018_19
from merged
where Year = '2016/17'
) b
您接下来可以做的事情:
select
-- divide partial sum by total
sum(if(Year = '2016/17', maternities, 0)) /
sum(if((City = 'Jeza' and `Group` = 'Unknown'), maternities, 0))
from merged;
您还可以使用:
select sum(Maternities)*100.0/(select sum(maternities) as total from merged
where City = 'Jeza' and Group = 'Unknown') as percent from merged
where Year = '2016/17'