Подзапросы. Сколько разных товаров заказывал каждый покупатель (по ФИО) в 1995 году?

Для решения данной задачи, нам потребуется написать SQL запрос, используя подзапросы.

Сначала, нам необходимо создать две таблицы в базе данных. Одна таблица будет содержать информацию о заказах (назовем ее "Orders"), а другая будет содержать информацию о покупателях (назовем ее "Customers"). Предполагается, что у нас уже есть таблицы и они содержат необходимые данные.

В таблице "Orders" должны быть следующие поля:

  • order_id - уникальный идентификатор заказа
  • customer_id - уникальный идентификатор покупателя
  • product_id - уникальный идентификатор товара
  • order_date - дата заказа

В таблице "Customers" должны быть следующие поля:

  • customer_id - уникальный идентификатор покупателя
  • first_name - имя покупателя
  • last_name - фамилия покупателя

Теперь, чтобы узнать, сколько разных товаров заказывал каждый покупатель в 1995 году, можно использовать следующий SQL запрос:

SELECT c.first_name, c.last_name, COUNT(DISTINCT o.product_id) as total_products
FROM Customers c
JOIN Orders o ON c.customer_id = o.customer_id
WHERE YEAR(o.order_date) = 1995
GROUP BY c.first_name, c.last_name;

Давайте разберем этот запрос по шагам:

  1. Мы выбираем имена и фамилии покупателей (first_name и last_name), а также количество уникальных товаров, которые они заказали. Количество уникальных товаров мы определяем с помощью функции COUNT(DISTINCT o.product_id).
  1. Мы объединяем таблицы "Customers" и "Orders" по идентификатору покупателя (customer_id), чтобы связать покупателей с их заказами.
  1. Мы добавляем условие WHERE YEAR(o.order_date) = 1995, чтобы выбрать только заказы, сделанные в 1995 году.
  1. Наконец, мы группируем результаты по именам и фамилиям покупателей, используя GROUP BY c.first_name, c.last_name.

Таким образом, выполнение этого запроса вернет таблицу со следующими столбцами:

  • first_name - имя покупателя
  • last_name - фамилия покупателя
  • total_products - общее количество разных товаров, которые покупатель заказал в 1995 году.

Надеюсь, эта информация была полезной и помогла вам решить вашу задачу.