Зачем надо (1) в COUNT?

В функции COUNT в SQL зачастую используется параметр 1 в качестве аргумента. Это связано с тем, что функция COUNT в SQL используется для подсчета количества строк, которые удовлетворяют определенному условию или выборке данных.

Применение аргумента 1 в функции COUNT позволяет просто подсчитать количество строк, не зависимо от значений в этих строках. То есть, функция COUNT(1) действует как счетчик, который просто увеличивает значение на 1 для каждой строки, независимо от содержимого поля.

На практике, использование COUNT(1) может быть полезным, когда нам не нужно проверять значения в столбце на NULL или другие условия, а нам важно только количество строк. Использование аргумента 1 также может улучшить производительность запроса, поскольку проверка одного и того же значения (1) менее затратна, чем проверка значений в столбце.

Например, представим, что у нас есть таблица "orders" со столбцом "status", который может принимать значения "выполнен", "отменен" или "в процессе". Чтобы подсчитать количество заказов с определенным статусом, мы можем написать следующий запрос:

SELECT COUNT(1)
FROM orders
WHERE status = 'выполнен';

В этом случае функция COUNT(1) будет возвращать количество записей, в которых поле "status" имеет значение "выполнен".

Таким образом, использование аргумента 1 в функции COUNT может быть полезным и эффективным способом подсчета количества строк в SQL без учета значений в этих строках.