SQL для подсчета общего числа отдельных значений в столбце

#sql #postgresql

Вопрос:

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

Рассмотрим следующую таблицу —

введите описание изображения здесь

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

введите описание изображения здесь

SELECT COUNT(DISTINCT DoB::date) AS Person_Count FROM TableName

Комментарии:

1. Тебе нужно GROUP BY это сделать !

Ответ №1:

Как насчёт

 SELECT DoB::date, count(1) AS Person_Count FROM TableName

GROUP BY DoB::date
 

Ответ №2:

То, что вы написали, объединяет каждую строку в таблице вместе, что означает, что вы когда-либо вернете в результаты только одну строку. (Затем COUNT(DISTINCT DoB) говорит вам, сколько разных ДОБ в этой одной группе.)

Вам необходимо указать, что вы хотите объединить строки в группы, где каждая группа идентифицируется по дате рождения; предоставив одну выходную строку для разных DoB в вашей таблице. Затем вы можете использовать COUNT(*) для возврата количества строк в каждой группе.

 SELECT
  DoB,
  COUNT(*)   AS person_count
FROM
  table_name
GROUP BY
  DoB
ORDER BY
  DoB