合并两个查询以在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查询用作唯一回传单个数据的子查询

但是yu应该记住,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 
    -- divide partial sum by total
    sum(if(Year = '2016/17',maternities,0)) / 
    sum(if((City = 'Jeza' and `Group` = 'Unknown'),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'
,
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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...