Ваше предложение WHERE исключает все элементы, поскольку они не могут быть одновременно типов 0 и 1 (и т. Д.).
Кроме того, с помощью count(distinct account_type)
вы получаете количество различных типов учетных записей;не количество элементов для каждого типа учетной записи.
Попробуйте это:
SELECT account_type,
COUNT(*)
FROM table_1
WHERE date BETWEEN '2019-08-01' AND '2019-08-31'
AND account_type IN ('0', '1', '2', '3', '4')
GROUP BY account_type
ORDER BY account_type;
В случае, если account_type
всегда является одним символом (например, «06» не существует), выможно также использовать:
AND account_type BETWEEN '0' AND '4'