Mysql查询与另一个表上的计数

时间:2014-10-24 17:49:02

标签: php mysql count

我有两个表,一个有交易信息,如身份,状态,价格和日期。我有另一个表,将该顺序中的项目数存储为单独的行。因此,说事务2有10个项目,第二个表中将有10行不同的项目。我想要做的是运行一个查询,列出交易和该交易中销售的商品数量。我想这会需要对第二张桌子进行计数,但我不完全确定如何做到这一点。这是数据库的基本布局

transaction id, date, price, discount, status
items: id, transaction_id, item_name, email, date_ordered, hash

提前感谢所有帮助。

2 个答案:

答案 0 :(得分:1)

按要选择的transaction表格中的列进行分组。然后添加项目计数

select t.id, count(i.id) as item_count
from transaction t
left join items i on i.transaction_id = t.id
group by t.id

答案 1 :(得分:0)

您可以在两个表格上执行left join,如下所示

select t.*, tab.total_order
from transaction t
left join
(
select transaction_id, count(*) as total_order
from items
group by transaction_id
) tab on t.id = tab.transaction_id