mysql 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出现次数超过两次的分组?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部