合并两个查询以获得 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'