我有2个表(客户,交易)。
customer
id name location
1 samuel AZ
2 mithun CA
3 Robert NY
etc..
transaction
id customer_id product_id
1 1 12000
2 1 12222
3 3 15000
etc.
有不同的产品和不同的位置
通过这些专栏,我需要找到一个特定产品的购买地点数量?
我尝试使用连接。
我的代码是
select c.id, c.location, t.product_id
from customer c join transaction t
on (c.id = t.cid);
我能够加入两个表,但我需要按tid计算交易数量。
答案 0 :(得分:0)
尝试对它们进行分组 - 这提供了购买特定产品的位置数量。这将包括位置的重复条目,但将回答您的交易数位
select t.product_id, count(c.location)
from customer c join transaction t
on (c.id = t.cid)
group by 1;
答案 1 :(得分:0)
要查找“每个产品ID的不同位置数”,请根据GROUP BY
product_id
select t.product_id, count(distinct c.location)
from transaction t
join customer c on (c.id = t.id)
group by product_id
在distinct
中使用count
,以避免两次计算同一位置。