我有两个postgress表Users(用户标识,城市,电子邮件)和Purchase(用户标识,商品标识,名称,金额),我想运行一个查询,以便向我提供一个用户标识购买的商品总数,并向我提供总额由用户花费。如何获得这些结果?
答案 0 :(得分:0)
您需要使用count()
,sum()
函数和group by
。试试:
select u.userID, count(p.ItemID) as TotalItemsPurchased, sum(p.amount) as TotalAmountSpent
from Users u
inner join Purchase p on p.userID = u.userID
group by u.userID
答案 1 :(得分:0)
select couserID, count(p.ItemID) as "TotalItemsPurchased", sum(p.amount) as "TotalAmountSpent" from Users u
inner join Purchase p on p.userId = u.userId
group by userID
答案 2 :(得分:0)
如果您只关心购物的用户,则不需要join
:
select p.user_id, count(*), sum(p.amount)
from purchases p
group by p.user_id;
如果您也关心没有购物的用户,请使用left join
:
select u.user_id, count(p.user_id), sum(p.amount)
from users u left join
purchases p
on u.user_id = p.user_id
group by u.user_id;