В таблице users есть колонка middle_name, в которой часто хранится NULL. Что вернёт выражение COUNT(middle_name)?
AЧисло всех строк в таблице, включая строки с
NULL.BЧисло строк, где
middle_name не NULL.C
NULL, если есть хотя бы одно значение NULL.DВсегда 0, если есть хотя бы одно значение
NULL.Правильный ответ.
COUNT(колонка) считает только не-NULL значения.Разбор
Агрегат COUNT(колонка) игнорирует строки, где значение колонки равно NULL. Чтобы посчитать все строки, используют COUNT(*), а чтобы посчитать только заполненные значения — COUNT(middle_name).
Проверь себя · 1/3разбор после ответа
Нужно сгруппировать события по календарному месяцу в PostgreSQL, чтобы все дни одного месяца попали в одну группу. Какой подход правильный?
Ещё вопросы по теме «Агрегация, GROUP BY и HAVING»
- Что делает оператор `DISTINCT`?
- Что делает `HAVING`?
- Есть таблица `orders(user_id, amount)`. Какой запрос посчитает сумму всех заказов по каждому пользователю?
- Нужно посчитать сумму оплаченных заказов по каждому пользователю. В таблице `orders` есть поля `user_id`, `amount`, `status`. Какой запрос корректен и наиболее эффективен?
- Нужно получить количество заказов по паре (`user_id`, `status`) из таблицы `orders`. Какой запрос верный?
- Все вопросы по «Агрегация, GROUP BY и HAVING» →