Количество каждого отдельного значения в поле данных - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу написать запрос, который будет возвращать каждое значение района в таблице вместе с счетчиком каждого отдельного значения за данный период времени

В настоящее время я использую следующий запрос

Select count(distinct account_type)
From Table_1
Where date between '2019-08-01' and '2019-08-31' and 
account_type = '0' and 
account_type = '1' and 
account_type = '2' and
account_type = '3' and
account_type = '4'

Набор результатов, который я ищу, выглядит следующим образом

account_type     Count
0                 123
1                 456                
2                 789
3                 101112
4                 131415

Набор результатов, который я получаю,

account_type 
0     

1 Ответ

1 голос
/ 24 сентября 2019

Ваше предложение 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'
...