Php 如何使用MySQL在一个查询中运行两个不同的查询?

Php 如何使用MySQL在一个查询中运行两个不同的查询?,php,mysql,unions,Php,Mysql,Unions,我有一个包含这些列的发票表 id total date country 1 50 2016-01-25 USA 2 40 2016-01-24 UK 3 30 2016-01-22 France 4 40 2016-01-26 UK 5 50 2016-01-18 USA 6 60 2016-02-20 USA 7 70 2016-02-21 USA 8 55 2016-02-18 U

我有一个包含这些列的发票表

id total date         country
1   50   2016-01-25   USA
2   40   2016-01-24   UK
3   30   2016-01-22   France
4   40   2016-01-26   UK
5   50   2016-01-18   USA
6   60   2016-02-20   USA
7   70   2016-02-21   USA
8   55   2016-02-18   UK
9   75   2016-02-19   France
我想得到美国总金额,非美国总金额组每月,我使用这些查询我只得到美国总金额

SELECT MONTH(date),YEAR(date),SUM(total) as usa_amount 
FROM Invoice 
WHERE YEAR(date) = '2016' 
  AND country='USA' 
GROUP BY MONTH(date)
我得到了这个结果

MONTH(date)  YEAR(date)   usa_amount
01            2016         100
02            2016         130
我想使用mysql联合或其他方法来验证这个结果

MONTH(date)  YEAR(date)   usa_amount  non_usa_amount
01            2016         100        110
02            2016         130        130

sum()中使用
case

选择月份(日期),
作为美国金额的总和(国家=‘美国’的情况下,则总计为0),
作为非美国金额的金额(如果国家为“美国”,则合计其他0)
从发票
其中年份(日期)=2016年
按月分组(日期)

sum()中使用
案例

选择月份(日期),
作为美国金额的总和(国家=‘美国’的情况下,则总计为0),
作为非美国金额的金额(如果国家为“美国”,则合计其他0)
从发票
其中年份(日期)=2016年
按月分组(日期)

我想通过同样的查询查询非美国金额?我们如何使用第二列查询美国退款,非美国退款@juergen dTry来解决这个问题,但不可能,请问另一个问题。我想通过同样的查询查询非美国金额?我们如何使用第二列查询美国退款,非美国退款@juergen dTry要想弄清楚这一点,不可能,请问另一个问题。
SELECT MONTH(date),
       SUM(case when country =  'USA' then total else 0 end) as usa_amount,
       SUM(case when country <> 'USA' then total else 0 end) as non_usa_amount 
FROM Invoice 
WHERE YEAR(date) = 2016
GROUP BY MONTH(date)