Как посчитать каждый DISTINCT? - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь посчитать, сколько из каждого попадания я получаю из разных.Итак, начало:

SELECT DISTINCT category FROM dbtable

Это дает мне 6 различных категорий, хорошо.Теперь я хочу посчитать каждую строку, чтобы результат выглядел следующим образом:

category, 4
category, 8
category, 12
category, 72
category, 5
category, 65

Я пробовал:

SELECT COUNT (DISTINCT category) FROM dbtable

Это дает мне первое количество категорий ...

Здесь я застрял.:)

Ответы [ 4 ]

0 голосов
/ 09 октября 2018

Попробуйте: -

  SELECT category, COUNT(1) FROM dbtable GROUP BY category 

И если вы хотите конкретный счет записи, попробуйте это

   SELECT category, COUNT(1) FROM dbtable GROUP BY category having count(1)>10
0 голосов
/ 09 октября 2018

Используйте group by и считайте как:

SELECT category,count(category) FROM dbtable GROUP BY category
0 голосов
/ 09 октября 2018

Использование GROUP BY?

SELECT category, COUNT(*) AS count
FROM dbtable
GROUP BY category;
0 голосов
/ 09 октября 2018

Вам необходимо добавить GROUP BY :

SELECT category, COUNT(*) FROM dbtable GROUP BY category

Обратите внимание:

  • Вам нужна GROUPBY для сбора данных, чтобы сервер БД мог считать каждую строку и фильтровать ее по вашим категориям, без этого сервер не знает, какие строки считать;

  • Вы должны помнить, что предложение Group By будетвсегда приходят в конце SQL-запроса, как и предложение Order by.

  • Вам не требуется DISTINCT , поскольку GROUP BY выполняет эту работу.(Спасибо, Джарлх)

Более подробное объяснение можно найти здесь: https://www.w3schools.com/sql/sql_groupby.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...