Для решения данной задачи, нам потребуется написать 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)
.
2. Мы объединяем таблицы "Customers" и "Orders" по идентификатору покупателя (customer_id
), чтобы связать покупателей с их заказами.
3. Мы добавляем условие WHERE YEAR(o.order_date) = 1995
, чтобы выбрать только заказы, сделанные в 1995 году.
4. Наконец, мы группируем результаты по именам и фамилиям покупателей, используя GROUP BY c.first_name, c.last_name
.
Таким образом, выполнение этого запроса вернет таблицу со следующими столбцами:
- first_name - имя покупателя
- last_name - фамилия покупателя
- total_products - общее количество разных товаров, которые покупатель заказал в 1995 году.
Надеюсь, эта информация была полезной и помогла вам решить вашу задачу.