繁体   English   中英

mysql计算重复项-按两列分组

[英]mysql counting duplicates - grouping by two columns

我有一张表,“点击次数”,同样如此。 每次用户单击一个项目时,它都会生成一个新行:

item    user_id
1511     787
1511     432 
1511     522             
1511     432        

我需要按项目编号分组的 user_id 列中重复值的计数(有数百万个)。 所以在这种情况下它会是 1。如果用户 432 点击了这个项目 3 次,它仍然是 1。但是如果用户 787 点击它两次并且用户 432 点击它 585,895 次,那么它会是 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

http://sqlfiddle.com/#!2/2170c/6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM