mysql - 想要使用左连接和计数

标签 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(products.*) 但出现 mysql 错误...如何继续?

斯坦

最佳答案

进行嵌套选择

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

关于mysql - 想要使用左连接和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35833001/

相关文章:

mysql - 这个 MySQL 查询有什么错误?

java - 如何将此 FOR 循环转换为 WHILE 循环,以便它也计算辅音? (Java)

mysql - 如果该状态已经存在于该表的另一个属性,则停止将该表的属性更新为特定状态

ruby - 如何有效地提取 Ruby 数组中的重复元素?

MySql GROUP BY 和 ORDER BY 重复数据删除

php - MAX() SQL 不工作

php - 使用链接自动完成搜索

php - MySQL:如何从每个用户那里获得五个帖子?

mysql - sql中两个不同表的总和之差

mysql - LEFT JOIN 到 INNER JOIN 多个表