Задача: Напишите SQL-запрос, чтобы найти для каждого месяца и страны количество транзакций и их общую сумму, количество утвержденных транзакций и их общую сумму.
Дано:
Идентификатор является первичным ключом этой таблицы.
В таблице содержится информация о входящих транзакциях.
Столбец состояния представляет собой перечисление типа ["одобрено", "отклонено"].
Решение:
SELECT
DATE_FORMAT(trans_date, '%Y-%m') AS month,
country,
COUNT(*) AS trans_count,
SUM(IF(state = 'approved', 1, 0)) AS approved_count,
SUM(amount) AS trans_total_amount,
SUM(IF(state = 'approved', amount, 0)) AS approved_total_amount
FROM Transactions
GROUP BY DATE_FORMAT(trans_date, '%Y-%m'), country;
Результат:
Источник: https://leetcode.com/problems/monthly-transactions-i/