#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