[英]Mysql query with count on another table
我有兩個表,其中一個包含交易信息,例如ID,狀態,價格和日期。 我還有另一個表,該表按該順序將項目數存儲為單獨的行。 因此,假設交易2有10個項目,第二個表中的不同項目將有10行。 我想做的是運行一個查詢,該查詢列出了交易以及該交易中售出的商品數量。 我想這需要在第二張桌子上數一數,但是我不確定如何做到這一點。 這是數據庫的基本布局
transaction id, date, price, discount, status
items: id, transaction_id, item_name, email, date_ordered, hash
在此先感謝您提供的所有幫助。
按要選擇的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
您可以在兩個表上進行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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.