请求:
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错误......如何继续?
斯坦
答案 0 :(得分:0)
进行嵌套选择
选择,(从产品p中选择计数(),其中p.offerid = o.id)作为countofoffers 来自优惠o
答案 1 :(得分:0)
根据Joachim Isaksson说:
我需要计算“正确”表格中的单个字段,1
似乎很合适。