![](/img/trans.png)
[英]MYSQL Counting and grouping across two columns if value exists in either column
[英]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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.