当前位置: 首页 > 知识库问答 >
问题:

MySQL计数重复

何琨
2023-03-14

表名称包含一列

目标是计算重复次数以得到以下结果

如何做到这一点?

共有1个答案

董权
2023-03-14

如果您有一个排序列,您可以使用窗口函数。在这种情况下,row_number()s的差异解决了问题:

select name, count(*)
from (select t.*,
             row_number() over (order by <ordering col>) as seqnum,
             row_number() over (partition by name order by <ordering col>) as seqnum_2
      from t
     ) t
group by name, (seqnum - seqnum_2);

为什么这样做有点难解释。但是,如果您查看子查询的结果,那么您将看到两个值之间的差异是如何标识值相同的相邻行的。

 类似资料:
  • 表名称包含一列 目标是计算重复次数以得到以下结果 如何做到这一点?

  • 基本上,对于每个user_id,我需要类似的东西, 我想最终的结果只是返回所有的总数。

  • 我已经尝试了很多不同的例子,但我不能使它工作。代码有问题,我总是以 我从那个问题中得到了启发,就这样做了: 我的表:user_groups 我想要的是数字2,因为用户是组NR1的一部分,这是会话组ID。 当我只在SQL中执行查询时:

  • 问题内容: 我有桌子,下面的结构。 tbl 查询返回以下结果: 与AAA和BBB重复的名称。我想要的最终结果是此重复记录的计数。 结果应该是这样的:共有重复产品( 2 ) 问题答案: 该方法是使用一个嵌套查询,每个重复项有一行,而一个外部查询仅返回内部查询结果的计数。

  • 问题内容: 我有这张桌子: 电影可以具有多种流派,因此ID并非特定于流派,而是多对多关系。我想要查询以找到正好具有4种流派的电影总数。我目前的查询是 但是,这会返回4而不是总和的列表。如何获得总和而不是清单? 问题答案: 一种方法是使用嵌套查询: 内部查询将获取所有具有完全4种类型的电影,然后外部查询将计算内部查询返回的行数。

  • 问题内容: 我有一个像这样的mysql表: 当访问者访问该网站时,它将其访问者ID和页面ID存储为一行。 我试图提取恰好X次访问该网站的访问者数量。(用于图表)。因此有多少人只访问一页,有多少人访问了2页… 到目前为止,我有: 但是我不知道该如何进行计数。 可以作为mysql查询吗? 编辑: 我已经添加了答案。 问题答案: 我可以这样解决: 这一点很重要。