@denislysenko
data engineer

Чем отличается count(*) И count(1)?

Примеры:
select count(*) from table  --вернет кол-во строк всей таблицы

select count(column_name) from table  --вернет кол-во записей столбца column_name, которые не равны null

select count(1) from table  -- это тоже вернет кол-во строк всей таблицы
select count(2134)  from table --это тоже вернет кол-во строк всей таблицы


Как работает count() когда мы передаем в скобки 1 или вообще любое другое число, он всегда возвращает кол-во строк таблицы

В чем разница между count(*) и count({любое число}) ?
  • Вопрос задан
  • 4141 просмотр
Решения вопроса 1
Adamos
@Adamos
COUNT(*) возвращает количество строк в запросе. Может быть оптимизировано, если запрос - для всей таблицы.
COUNT([expression]) возвращает количество строк в запросе SELECT...WHERE expression IS NOT NULL.
Имеет смысл, если вы передаете выражение, сводящееся к значению каких-либо столбцов, и не имеет смысла, если вы передаете константу, которая заведомо не равна NULL.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы