大家好日子。 我的一位不会说英语的朋友请我在这个网站上为他提问。
好。他的问题是:他需要创建一个MySQL查询来选择所有客户端和他们的订单数量,如果他们没有,则需要0。
有两个表:
table Customers: id, name
table Orders: id, customer_id
这样的事情:
client 0, 10 orders
clietn 1, 0 orders
client 2, 3 orders
等等。但当然没有文字,只需普通的mysql选择结果。
答案 0 :(得分:1)
以下将按您的要求执行:
select customers.name, count(orders.id)
from customers
left join orders on customers.id=orders.customer_id
group by customers.name
它基本上计算了每个客户可以找到的订单数量。
答案 1 :(得分:1)
这是有效的,因为“无订单”因为LEFT JOIN而为Orders.id
提供NULL
COUNT(column)
会忽略NULL,因此您将获得零
SELECT
C.Name,
COUNT(O.id)
FROM
Customers C
LEFT JOIN
Orders O ON C.id = O.customer_id
GROUP BY
C.Name