MySQL分组统计:如何查找用户ID出现次数超过两次的分组?
时间:2025-1-8 08:28 作者:emer 分类: 无
sql 求解特定分组
问题:
如何使用 group by 语句对数据集进行分类,找出满足特定条件的分组?
问题详解:
给定一张表 tb,其中包含 user_id 列。需要找到 user_id 在表中出现次数大于 2 的分组。
答案:
select user_id from tb group by user_id having(count(1)) > 2;登录后复制
解释:
- group by user_id 将数据集按 user_id 列进行分组。
- having(count(1)) > 2 表示只选择分组中的记录数大于 2 的分组。
- count(1) 计数每组中的记录数。
优化建议:
- 在 user_id 列上创建索引以提高查询性能。
此外,如果只想统计分组中的记录数,可以使用以下查询:
select count(1) from ( select user_id from tb group by user_id having(count(1)) > 2 );登录后复制
以上就是MySQL分组统计:如何查找用户ID出现次数超过两次的分组?的详细内容,