COUNT
COUNT(*) считает строки
COUNT(*) возвращает количество строк в наборе, независимо от того, есть ли в отдельных столбцах NULL.
SELECT COUNT(*)
FROM users;
Если после WHERE осталось 42 строки, COUNT(*) вернёт 42.
COUNT(column) считает только известные значения
SELECT COUNT(email)
FROM users;
Такой вариант считает только строки, где email не равен NULL. Если пользователей 100, но email указан только у 73, результатом будет 73.
DISTINCT можно использовать внутри COUNT
SELECT COUNT(DISTINCT country)
FROM users;
Запрос считает количество различных известных значений country, а не количество пользователей.
COUNT(*) и COUNT(column) отвечают на разные вопросы.
Первый считает строки, второй — ненулевые значения конкретного выражения. Разница особенно заметна, когда столбец допускает
NULL.
Проверь себя
Разбор задания
Ментор знает решение и поможет тебе прийти к нему самостоятельно
Войди, чтобы использовать Ментора
Ментор учитывает текущую задачу и историю диалога.
Войти
Проверь важные нюансы и ответ после собственной попытки.
Войди, чтобы посмотреть решение
Решение и разбор доступны после авторизации.
Войти