2010-03-15 24 views
1

tbl_customer.id是客户的IDMySQL查询找出谁作出的大部分订单

tbl_order.customer_id

一个查询,将选择所有的客户说,4个或更多记录tbl_order客户

+0

迈克尔,我被编码直到凌晨1点,再向上早上7点,所以我相当疲惫,这使得它更难为我制定的问题 – zzapper 2010-03-15 15:45:10

+0

六个小时?你真幸运! – 2010-03-15 15:52:34

+0

大声笑,但我梦想编码! – zzapper 2010-03-15 15:55:39

回答

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有一个日期字段“创建”我可以重新查询上面的查询以最近的销售/显示日期的顺序列出最近的销售 – zzapper 2010-03-16 11:45:05