2016-08-04 20 views
1

私は、これらの列に請求書テーブルを持っているMySQLを使用して1つのクエリで2つの異なるクエリを実行する方法は?

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 

と私はアメリカ総量、月によってNON USA合計量群を取得したい、私はこれらのクエリを使用しています私はUSA総量

を取得
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 

答えて

0

私は、同じクエリでも非USA量にしたいですか?sum()

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) 
+0

caseを使用しますか –

+0

はい、試してみてください。それは –

+0

thx多くのjuergen、この答えは私が欲しいものです正確に動作します –

関連する問題