[Сгенерировано ChatGPT-нейросетью, переспрашивайте если что-то не поняли, я переспрошу у него.]
В данном запросе есть несколько ошибок:
В условии o.order_id >= 2 вместо order_id должно быть id.
В условии o.order_id >= '1996-01-01' и o.order_id <= '1996-12-31' нужно использовать поле order_date, а не order_id.
В GROUP BY нужно указывать индекс поля, а не его имя.
Вместо company _name нужно написать company_name.
Исправленный запрос будет выглядеть так:
SELECT c.company_name
FROM northwind.customers AS c
JOIN northwind.orders AS o ON c.customer_id = o.customer_id
WHERE o.order_date >= '1996-01-01' AND o.order_date <= '1996-12-31'
GROUP BY 1
HAVING COUNT(DISTINCT o.order_id) >= 2
ORDER BY 1 ASC
В этом запросе мы выводим названия компаний, у которых было не менее двух заказов в 1996 году. Для этого мы объединяем таблицы customers и orders, фильтруем заказы по дате и группируем результат по названию компаний. Затем мы используем HAVING COUNT(DISTINCT o.order_id) >= 2, чтобы оставить только те компании, у которых было не менее двух заказов, и сортируем результат по возрастанию названий компаний
Выведите названия компаний-покупателей, которые совершили не менее двух заказов в 1996 году. Отсортируйте вывод по полю с названиями компаний в лексикографическом порядке по возрастанию.
Решение:
SELECT c.company _name
FROM northwind.customers AS c
JOIN northwind.orders AS o ON c.customer_id = o.customer_id
WHERE o.order_id >= 2 AND o.order_id >= '1996-01-01' AND o.order_id <= '1996-12-31'
GROUP BY 1
ORDER BY 1 ASC