SQL Junior EXPLAIN и оптимизация обновлено

Перепиши фильтр из HAVING в WHERE

Условие

Запрос считает число заказов по статусам, кроме отменённых, но фильтрует уже после группировки. Перенеси условие туда, где оно отсекает строки до группировки. Результат не должен измениться.

Колонки: status, cnt. Порядок строк не важен.

SELECT status, COUNT(*) AS cnt
FROM orders
GROUP BY status
HAVING status <> 'cancelled';

Как подойти

Подсказки: 1
  1. Условие без агрегата можно проверить до группировки.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме