@DoneBass
начинающий веб разработчик)

Как показать число заказов каждого покупателя из определенной страны?

Доброго вечера! у меня есть 2 таблицы Orders и Customers. В первой - Orders есть столбец CustomerID (который совпадает с CustomerID в таблице Customers) Во второй - Customersтаблице есть столбец Contactname и Country . Навидите пожалуйста на мысль как можно посчитать количество покупок для каждого покупателя?
покупки посчитаны, остался лишь вопрос в том как сделать вывод только тех у кого больше одной покупки?

на всякий случай прилагаю схему БД https://camo.githubusercontent.com/ad43beb5737bc55...

получилось решить вот так:
SELECT Customers.Contactname,
Customers.Country,
(SELECT COUNT(*) FROM Orders WHERE Customers.CustomerID = Orders.CustomerID) AS CustomerOrders
FROM Customers
ORDER BY CustomerOrders DESC

выводит всех покупателей с покупками от 0
как сделать вывод тех у кого их > 1 ?
  • Вопрос задан
  • 6273 просмотра
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
select
t1.ContactName,
t1.Country,
count(*)
from Customers t1
inner join Orders t2 on t2.CustomerID = t1.CustomerID
group by t1.ContactName, t1.Country
having count(*) > 1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
select
customer, count(*)
from orders
inner join customers <...>
where country = <>
group by customers

либо убрать where и группировать по стране и клиенту
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы