Выбор ответа Junior GROUP BY и агрегаты спрашивают часто обновлено
AVG и NULL
Вопрос
В колонке score значения 10, NULL, 20. Что вернёт SELECT AVG(score) FROM t?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 15. Агрегаты, кроме COUNT(), пропускают NULL.
Варианты ответа
- 15правильный ответ
- 10
- NULL
- Ошибку: в колонке есть NULL
Разбор
Агрегаты, кроме COUNT(*), пропускают NULL. AVG делит сумму известных значений на их количество: (10 + 20) / 2 = 15. Ответ 10 получился бы, если бы NULL считался нулём, для этого пишут AVG(COALESCE(score, 0)). NULL вернулся бы, только если бы все значения были NULL. Ошибки нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.