我目前有这个查询。修改SQL查询以获取所有用户?
SELECT DISTINCT (o.customer_id), count(o.id) AS orders, c.*
FROM `order` AS o LEFT JOIN customer AS c ON o.customer_id = c.id
GROUP BY customer_id
它是什么,它返回已发出的命令,并计算每个订单的客户取得了数所有客户。
我需要做的是修改此查询,以便它还返回那些还没有下单的客户。你有什么想法如何做到这一点?
我试图扭转查询但这并没有这样的伎俩..
SELECT DISTINCT (o.customer_id), count(o.id) AS orders, c.*
FROM customer AS c LEFT JOIN order AS o ON o.customer_id = c.id
GROUP BY o.customer_id
你已经写了'DISTINCT(o.customer_id)'那么需要什么 'GROUP BY customer_id' – diEcho 2011-04-07 09:41:47
这个distinct在t中什么都不做他的情况.. – 2011-04-07 09:43:27
你试过用'RIGHT JOIN'吗? – diEcho 2011-04-07 09:51:45