2016-08-04 1 views
1

내가MySQL을 사용하여 단일 쿼리에서 두 개의 다른 쿼리를 실행하는 방법은 무엇입니까?

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 총량 그룹을 싶어, 나는 단지 미국 총량을 얻을이 쿼리를 사용하고

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 작동합니다,이 대답은 정확하게 내가 원하는 것입니다 –