다른 열 값 쌍()을 기준으로 SQL을 구하는 방법

질문:

사람들이 걸었던 데이터가 있습니다.노름돈은 '이기다', '지다', 혹은 '미정' 이 될 수 있다.나는 사람들이 걸었던 금액과 그들이 이긴 금액을 알고 싶다.
당첨 금액은 금액* 배상률이어야 하지만 당첨금 베팅(1)이면 총 금액에서 원시 노름돈(금액)을 뺀다.상금 내기에는 총 이익금 중의 원시 노름돈이 포함되지 않는다.
이 밖에 amountbet은 상금 보증 금액을 포함해서는 안 된다. 왜냐하면 상금 보증은 손실된 돈보다 더 많은 기호화폐이기 때문이다.SQL에서
나는 이미 이렇게 멀리 갔어...
SELECT *, SUM(amount) AS amountbet 
FROM bets 
WHERE club = 2 
  AND result <> 'pending'
  AND bonus = 0
GROUP BY user
저는 이 SQL 문구도 있어요.
SELECT *, SUM(amount * odds - (amount * bonus)) AS amountwon 
FROM bets 
WHERE club = 2 
  AND result = 'won' 
GROUP BY user
따라서 상금이 있는 경우 금액을 빼거나 *0을 빼면 =0
만약 없다면, 나는 일을 할 수 있지만, 우아한 방식이 있다면, 나는 한번 해 보고 싶다.
고마워요 고마워요
DB 테이블은 다음과 같습니다.
ID | user | amount | odds | result | bonus | club | 

답안

CASESUM() 표현식 응용에 필요한 선별을 사용할 수 있다.
SELECT
  user,
  SUM(                                   amount    )  AS total_amount,
  SUM(CASE WHEN result  = 'won'     THEN amount END)  AS amount_won,
  SUM(CASE WHEN result <> 'pending' THEN amount END)  AS amount_bet
FROM
  bets 
WHERE
  club = 2 
GROUP BY
  user
그중에 ELSE가 없다. 이것은 은식ELSE NULL이고 NULL는 집합되어 효과적으로 무시된다.