Справочник по функциям

COUNT

Подсчитывает строки или значения выражения, не равные NULL.

PostgreSQL 17.9
COUNT(* | [DISTINCT] expression)
  • [ ]необязательная часть
  • a | bодин из вариантов
*
Считать все строки, включая строки с NULL
Ключевое слово
DISTINCT
Считать только уникальные значения expression
Ключевое словоНеобязательный
expression
Выражение, считаются только строки, где оно не равно NULL

Возвращаемое значение

Целое число (bigint); 0 для пустого набора, а не NULL

Примеры

Все строки таблицы

PostgreSQL 17.9
SELECT COUNT(*)
FROM FamilyMembers;
count
8

Число разных статусов

PostgreSQL 17.9
SELECT COUNT(DISTINCT status)
FROM FamilyMembers;
count
4

Все строки и значения без NULL

PostgreSQL 17.9
SELECT COUNT(*) AS all_teachers,
	COUNT(middle_name) AS with_middle_name
FROM Teacher;
all_teacherswith_middle_name
1513

Подробности

В отличие от MySQL, COUNT(DISTINCT a, b) с несколькими столбцами не поддерживается: уникальные пары считают через COUNT(DISTINCT (a, b)). Посчитать только строки, подходящие под условие, можно через COUNT(*) FILTER (WHERE ...).

Смотрите также

Где изучить