Помогите пожалуйста хотя бы на примере с другими таблицами. Необходимо написать SQL-запрос выводящий среднюю стоимость покупки клиентов из - вопрос №5114691

центрального региона («Central»), совершившим и получившим первую покупку в январе 2018 года. Результаты предоставить в разбивке по городам.

Ответы

Допустим, у вас есть таблица «Покупки» со следующими столбцами:

id (идентификатор покупки)
customer_id (идентификатор клиента)
region (регион, в котором находится клиент)
city (город, в котором находится клиент)
purchase_date (дата покупки)
purchase_amount (сумма покупки)
В таком случае, SQL-запрос для получения средней стоимости покупки клиентов из центрального региона, совершивших и получивших первую покупку в январе 2018 года, можно написать следующим образом:

 

SELECT city, AVG(purchase_amount) AS avg_purchase_amount
FROM purchases
WHERE region = 'Central'
AND customer_id IN (
  SELECT customer_id
  FROM purchases
  WHERE region = 'Central'
  AND purchase_date >= '2018-01-01'
  AND purchase_date < '2018-02-01'
  GROUP BY customer_id
  HAVING MIN(purchase_date) = '2018-01-01'
)
GROUP BY city;

Этот запрос выбирает все города из центрального региона, в которых были совершены покупки клиентами, совершившими и получившими первую покупку в январе 2018 года. Для этого он использует вложенный запрос, который выбирает всех таких клиентов и использует функцию HAVING для проверки того, что первая покупка была сделана именно в январе 2018 года. Затем запрос суммирует все покупки для каждого города и выводит среднее значение суммы покупок для каждого города.

 

 

07.04.23

Глеб Черняк

Читать ответы
Посмотреть всех экспертов из раздела Технологии > Тестирование
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store