根据另一个表的id计算一个表中的行数

时间:2018-04-09 13:18:16

标签: mysql

我有两张桌子:

Orders
Orders product

我目前拥有计算订单金额的查询:

SELECT COUNT(*) as total FROM orders WHERE DATE(`created_on`) = CURDATE()

这给了我今天的订单数量

现在我想要更改此查询,因此我计算了订单,我计算了他们订购的产品数量。

order_products表是这样的:

-id
-order_id
-product_name
-product_weight 
etc etc

我只对order_id感兴趣,因为它将此表链接到orders表。对于订购的每个产品,此表中添加了1行,该行链接到带有order_id的订单。

是否可以使用一个查询来选择计数,或者这是不可能的?我想我必须使用LEFT JOIN进行此操作,但我似乎无法找到它。

1 个答案:

答案 0 :(得分:2)

您只需要在这些表之间创建内部联接并应用关系throw外键,然后您需要根据您要查找的内容添加group

SELECT COUNT(*) as total FROM orders o inner join order_product op on(op.order_id=o.order_id) WHERE DATE(`created_on`) = CURDATE() group by op.id