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

COUNT

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

PostgreSQL 17.5
COUNT(* | [DISTINCT] expression)

Параметры

*ключевое слово
Считать все строки, включая строки с NULL
DISTINCTключевое словонеобязательный
Считать только уникальные значения expression
expression
Выражение, считаются только строки, где оно не равно NULL

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

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

Примеры

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

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

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

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

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

PostgreSQL 17.5
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 ...).

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

Где изучить