我有一张桌子,“点击”,就像这样。每次用户点击某个项目时,它都会生成一个新行:
item user_id
1511 787
1511 432
1511 522
1511 432
我需要计算按项目编号分组的user_id列中的重复值(其中有数百万个)。所以在这种情况下它将是1.如果用户432点击该项目3次,它仍然是1.但如果用户787点击它两次并且用户432点击它585,895次,那么它将是2. / p>
我知道如何计算行项目和组,但不是在对两个列进行分组并返回欺骗计数时。
谢谢。
修改
(期望的结果 - 基于我已经呈现的表格)
SELECT c.item, count(? - still unsure on query) AS multi_clickers FROM clicks c
item multi_clickers
1511 1
1512 ?
1513 ?
1514 ?
答案 0 :(得分:1)
select item, count(userid) as multi_clickers
from
(select item, userid, count(userid) as total_clicks_for_user
from clicks
group by item, userid
having total_clicks_for_user > 1) a
group by item