2010-03-15 2 views
1

tbl_customer.id является идентификатор клиентаMySQL запросов, чтобы найти клиентов, которые сделали наибольшее количество заказов

tbl_order.customer_id

запрос, который выберет всех клиентов с сказать 4 или более записей в tbl_order

+0

Майкл, я кодирования сезам 1 утра сегодня утром, то до 7 утра, так что я очень устал, это сделало его более трудным для меня, чтобы сформулировать вопрос – zzapper

+0

шесть часов? Вы счастливый парень! –

+0

LOL, но я мечтал о кодировании !! – zzapper

ответ

3
SELECT tbl_order.customer_id, COUNT(*) 
    FROM tbl_order 
    GROUP BY customer_id 
    HAVING COUNT(*) > 4 
1
select customer.id, count(*) as num_orders 
from customer 
inner join tbl_order ON (tbl_order.customer_id = customer.id) 
group by customer.id 
having num_orders >= 4; 
0

Используя сочетание вышеуказанных ответов (спасибо)

То, что я закончил с

SELECT c.first_name,c.SURNAME,c.ADDRESS1,c.CREATED ,COUNT(*) AS num_orders 
FROM tbl_customer AS c 
INNER JOIN tbl_order_head AS o ON (o.customer_id = c.id) 
GROUP BY c.id 
HAVING num_orders >= 4 ORDER BY num_orders DESC; 
+0

tbl_order_head имеет поле даты «созданное», я могу rejig над запросом к списку в порядке самой последней даты продажи/отображения самой последней продажи – zzapper

Смежные вопросы