Sql 在分组列中添加值
我有两个postgress表Users(userId、city、email)和Purchase(userId、ItemId、name、amount),我想运行一个查询,以获得用户id购买的项目总数和用户花费的总金额。如何获得这些结果?您需要使用Sql 在分组列中添加值,sql,postgresql,Sql,Postgresql,我有两个postgress表Users(userId、city、email)和Purchase(userId、ItemId、name、amount),我想运行一个查询,以获得用户id购买的项目总数和用户花费的总金额。如何获得这些结果?您需要使用count()、sum()函数和分组方式。尝试: select u.userID, count(p.ItemID) as TotalItemsPurchased, sum(p.amount) as TotalAmountSpent from Users u
count()
、sum()
函数和分组方式。尝试:
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
如果您只关心已购买的用户,则不需要加入:
select p.user_id, count(*), sum(p.amount)
from purchases p
group by p.user_id;
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;
如果您确实关心没有购买的用户,请使用left join
:
select p.user_id, count(*), sum(p.amount)
from purchases p
group by p.user_id;
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;
请(通过点击下面的链接)提出您的问题,并根据这些数据添加一些内容和预期输出。请(您的问题-不要在评论中发布代码或其他信息)将couserID更改为userId@Shekhar-如果我在查找某些项目ID,我如何修改查询?用户的某些项目ID?