Отличие count(*) от cound (id)

Время чтения - 1 мин.Дата публикации 13.04.2021 (обновлено 21.05.2026)

Функция COUNT: считаем строки правильно

Начнем с базы. COUNT — это агрегатная функция. Она подсчитывает количество значений, отличных от NULL, в указанном столбце.

Но есть нюанс. Единственная функция, которая не смотрит на NULL'ы — это COUNT(*). Она считает вообще все строки в таблице. Без исключений.

Как это работает на практике?

Давай посмотрим на примере. Допустим, у нас есть таблица с пользователями. В столбце id у каждого есть значение. А вот столбец email может быть пустым (NULL).

  • COUNT(id) — вернет количество строк, где id не равен NULL. То есть всех пользователей.
  • COUNT(email) — вернет только тех, у кого указан email. Те, у кого email = NULL, в подсчет не попадут.
  • COUNT(*) — вернет все строки таблицы. Даже если во всех колонках NULL. Просто количество записей.
Запомни: COUNT(id) считает строки, где id существует. А COUNT(*) считает строки как таковые. Разница есть.

Коротко о главном

COUNT(id) — только не-NULL значения в колонке id.
COUNT(*) — все строки таблицы. Без фильтрации по NULL.

Насколько полезной была статья?

Что еще посмотреть по SQL Server

Как кешировать в SQL результаты сложных операций

Как искать зависимости объектов в SQL Server

SQL Server. Как вызвать процедуру с переменным именем и результаты вставить в таблицу

Формирование сложного JSON объекта через SELECT в SQL Server

Как вставить данные в таблицу БД из таблицы на другом сервере

Использование CPU в SQL Server Express Edition

Как форматировать код sql в sql server management studio

Работа с XML в SQL Server

Антипаттерны SQL Server

Чем отличается For JSON Auto от For JSON Path

Альтернатива множественному Replace

Разбор строки на части и занесение в табличную переменную

Дополнительный заработок для разработчиков на T-SQL

Прямая работа с заказчиками как ИП или самозанятый. Нужно знать только SQL и HTML.
Falcon Space - платформа для создания сайтов с личными кабинетами
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Запрос расчета стоимости веб-проекта на базе Falcon Space
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie, Яндекс Метрику. Используя сайт, вы соглашаетесь с правилами сайта. См. Правила конфиденциальности и Правила использования сайта OK