Посчитать сумму продаж пользователей (подходящих под условие) за период - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день! Возникла задача посчитать сумму продаж пользователей(подходящих под условие) за период. Таблицы предоставлены на скрине. Входные данные: Все пользователи из таблицы

user

, у которых

allow

= 3 из таблицы

allow

и

dt_create

в таблице

booking

between 100 and 102, если dt_create не входит в заданный период - тогда результат должен быть нулевым Все что подходит под данные условия обозначено желтым цветом. Ожидаемый результат на выходе так же на скрине:

Решение задачи: «Посчитать сумму продаж пользователей (подходящих под условие) за период»

textual
Листинг программы
SELECT u.id,
       u.family,
       u.name,
       (SELECT SUM(bd.price)
        FROM booking b, booking_detail bd
        WHERE b.id = bd.booking_id AND b.user_id = u.id AND b.dt_create BETWEEN 100 AND 102) AS PriceSum
FROM user u JOIN allow a ON a.user_id = u.id AND a.allow = 3

Объяснение кода листинга программы

  1. Создание запроса на языке SQL для получения суммы продаж пользователей, удовлетворяющих условию, за определенный период времени.
  2. Использование оператора SELECT для выбора нужных столбцов из таблицы user и вычисления суммы продаж с помощью подзапроса.
  3. Указание таблицы allow для фильтрации пользователей с определенным значением allow.
  4. Использование оператора JOIN для объединения таблиц user и allow.
  5. Указание условия WHERE для фильтрации пользователей, удовлетворяющих определенным критериям (например, определенному периоду времени).
  6. Использование функции SUM для вычисления суммы продаж.
  7. Использование функции bd.price для получения цены каждой продажи.
  8. Использование оператора GROUP BY для группировки данных по пользователю.
  9. Использование оператора HAVING для фильтрации результатов запроса.
  10. Использование оператора ORDER BY для сортировки результатов запроса.
  11. Использование оператора LIMIT для ограничения количества возвращаемых строк.
  12. Использование символа * для выбора всех столбцов из таблицы.
  13. Использование символа ? для указания параметров в запросе.
  14. Использование символа ! для обозначения оператора NOT.
  15. Использование символа - для обозначения оператора NOT.
  16. Использование символа + для обозначения оператора CONCAT.
  17. Использование символа = для сравнения значений.
  18. Использование символа < для сравнения значений.
  19. Использование символа > для сравнения значений.
  20. Использование символа <= для сравнения значений.
  21. Использование символа >= для сравнения значений.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы