Вступить в клуб →
лёгкаявопросPostgreSQL, ORM и оптимизация запросов

В отчёте 1200 заказов, а по запросу с COUNT по промокоду выходит 300

SELECT COUNT(*) AS all_orders, COUNT(promo_code) AS with_promo
FROM orders
WHERE created_at >= '2026-03-01';

Результат: all_orders = 1200, with_promo = 300. Аналитик уверен, что в запросе ошибка и обе цифры должны совпадать. Кто прав?

  • Ошибки нет: COUNT(колонка) не считает строки, где в колонке NULL
  • Аналитик: COUNT(promo_code) считает только уникальные промокоды
  • Аналитик: второй COUNT применил фильтр по дате повторно
  • Ошибки нет: COUNT(колонка) округляет результат до сотен

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела