mysql重复计数-按两列分组
我有一张桌子,“咔嗒”一声。每次用户单击项目时,它都会生成一个新行:mysql重复计数-按两列分组,mysql,sql,Mysql,Sql,我有一张桌子,“咔嗒”一声。每次用户单击项目时,它都会生成一个新行: item user_id 1511 787 1511 432 1511 522 1511 432 我需要在user_id列中按项目编号(有数百万个)分组的重复值计数。所以在这种情况下,它是1。如果用户432单击该项目3次,它仍然是1。但如果用户787点击它两次,用户432点击它5895次,那么它将是2 我知道如何对行项目和组进行计数,但在对两列
item user_id
1511 787
1511 432
1511 522
1511 432
我需要在user_id列中按项目编号(有数百万个)分组的重复值计数。所以在这种情况下,它是1。如果用户432单击该项目3次,它仍然是1。但如果用户787点击它两次,用户432点击它5895次,那么它将是2
我知道如何对行项目和组进行计数,但在对两列进行分组和返回重复计数时却不知道
多谢各位
编辑:
(预期结果-基于已提供的表I)
您能显示您想要的结果吗?是否有必要删除仅由一个用户或仅由一个用户一次单击项目的行?或者你也会把它包括进来吗?对不起,请看我上面的编辑,希望更多clear@spencer7593我想基本上消除任何不重复的行。因此,如果10个不同的用户单击一个项目,则计数为0。如果10个不同的用户单击一个项目,但其中2个用户多次单击,则该项目将为2个。
SELECT c.item, count(? - still unsure on query) AS multi_clickers FROM clicks c
item multi_clickers
1511 1
1512 ?
1513 ?
1514 ?
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