我想检查是否有人拥有我列表中的每一项。
(或显示哪些人拥有大量物品)
表名:item 字段:id(唯一)、person_id 和 item_id
为了方便起见,我要找的 item_ids 是 1,2,3。
商品表中的示例数据
112, 41, 1
313, 50, 1
453, 50, 2
647、50、3
440、55、2
451, 66, 2
453、66、3
453、66、3
647, 66, 1
如您所见,第 50 位和第 66 位拥有 1、2、3 件物品。 (没问题,他有重复)
查询应该返回他们有多少像 tihs:
66(人), 4(个)
50(人), 3(个)
41(人), 1(个)
55(人), 1(个)
(它显示1-1pcs或不显示3下的内容无关紧要)
谁能帮我写一个查询什么返回这个结果?
答案 0 :(得分:0)
您只是在寻找 in
和 group by
吗?
select person, count(*) as num_items
from t
where item in (1, 2, 3)
group by person
order by num_items desc;