2016-10-05 4 views
1

나는 합계 모든 주문은 MySQL의 쿼리 필요하지만, 예를 들어 ID 80,MySQL의 합계와 빼기 쿼리

내가이

SELECT SUM(Orders) FROM MyBuyers WHERE ID=80 NOT IN 

을 시도 할 경우 빼기하지만 그들은

작동하지 않습니다
SELECT SUM(Orders) FROM MyBuyers 

이 쿼리는 잘 작동하지만 난 주문을 빼야한다 어디 ID 80

+0

일부 샘플 입력 및 예상 출력 – 1000111

답변

1
SELECT SUM(Orders) FROM MyBuyers WHERE ID!=80 
+0

간단하고 작품을 보여줘! 고맙습니다 :) –

1

그런 것을 원하십니까?

SELECT 
SUM(CASE WHEN ID <> 80 THEN Orders ELSE -1*Orders END) AS totalAmount 
FROM MyBuyers 

지금까지 내가 이해 한 것을 :

당신은 주문 ID = 80을 가진 제외한 모든 주문을 요약하고 싶다.

ID가 80 인 경우 집계 된 결과에서 주문을 뺍니다. 입력이 주어진에 대한 예상 출력이 11 경우


는 위의 질의는 이것에 대한 가장 적합한 샘플 입력이 세트

ID Orders 
1  5 
21  5 
23  5 
80  4 

을 고려하십시오.

그리고 당신의 예상 출력이 15 다음 대신 다음 쿼리를 채택 할 경우

:

SELECT SUM(Orders) FROM MyBuyers WHERE ID <> 80