想要使用左连接和计数

时间:2016-03-06 21:46:04

标签: mysql count left-join

请求:

select offers.*,
       count(*)
from offers left join products on (products.offerId=offers.id)
group by offers.id order by offers.id desc;

我想获得所有优惠,即使是没有产品的优惠。 这部分工作正常。

我遇到的问题是count(*)部分请求。如果优惠中没有产品,我希望0。但我得到1。我理解这可能是行本身(在offers表中)。我尝试过count(产品。*)但是我得到了一个mysql错误......如何继续?

斯坦

2 个答案:

答案 0 :(得分:0)

进行嵌套选择

选择,(从产品p中选择计数(),其中p.offerid = o.id)作为countofoffers 来自优惠o

答案 1 :(得分:0)

根据Joachim Isaksson说:

我需要计算“正确”表格中的单个字段,1似乎很合适。