Запрос суммы MYSQL с условием IF

Я создаю запрос для отчета с несколькими условиями IF на SUM. У меня проблемы с несколькими условиями IF на SUM.

Вот запрос:

SELECT SUM(`totalamount`) AS Total, 
SUM(`PayPalFee`) AS Fees,
DATE(`TransactionDate`) AS `Day`, 
SUM(IF(PaymentType = "paypal", 1,0)) AS Paypal, 
SUM(IF(PaymentType = "check", 1,0)) AS Checks, 
SUM(IF(PaymentType = "credit card", 1,0)) AS CreditCard, 
COUNT(*) AS Entries
 FROM my_table
 WHERE TransactionDate between '2011-05-05' AND '2012-01-30'
 GROUP BY day
 ORDER BY `day` ASC

Этот запрос работает нормально.

Когда я пытаюсь добавить приведенный ниже условный оператор SUM:

 SUM('TotalAmount'(PaymentType = "credit card", 1,0)) AS CreditCardTotal,

Этот условный оператор IF не работает.

У меня есть столбец «TotalAmount» и столбец «PaymentType». Я хочу создать СУММУ транзакций по кредитной карте за каждый день, СУММУ транзакций чеков за каждый день, СУММУ транзакций PayPal за каждый день. Я попытался создать подзапрос, но он возвращает значение для всего столбца TotalAmount без разбивки по дням.

36
задан Matthew Colley 4 January 2012 в 18:34
поделиться