我只想对单个用户购买的商品进行总投票和投票.我有一张大桌子所以我不想总结每个人为每个项目所做的所有投票,只是特定用户购买的项目.
到目前为止,这是我的查询:
select SUM(purchaseyesno) AS tots, SUM(rating=1) AS yes, SUM(rating=0) AS no, item_id
from items_purchased
where purchaser_account_id=12373
group by item_id
正如您所料,这些总和只是求和用户12373的信息,所以它只是一个值.我不确定如何获得用户12373购买的所有item_ids.
我确定有一些子查询,我需要包含的嵌套事物,但我很无能为力.
这是我希望我的数据看起来如何,item_id = 3,4,5都是由user = 12373购买的.而item_id = 1,2,6是由其他用户购买的.
item_id tots yes no
3 7 4 2
4 5 1 3
5 1 0 1
想法?
最佳答案
select item_id, SUM(purchaseyesno) tots, SUM(rating = 1) yes, SUM(rating = 0) no
from items_purchased
where item_id in (
select item_id from items_purchased
where purchaser_account_id = 12373
)
group by item_id