SQL查找不同值计数,2次重复值计数,3次重复值计数等

Posted

技术标签:

【中文标题】SQL查找不同值计数,2次重复值计数,3次重复值计数等【英文标题】:SQL find distinct values count, 2 times repeated values count, 3 times repeated values count and so on 【发布时间】:2017-10-25 12:11:26 【问题描述】:

例如,

AAA
BBB
BBB
CCC
BBB
CCC
DDD
DDD

有4个唯一值(AAA, BBB, CCC, DDD),2个重复值 (CCC, DDD),1 三次重复值(BBB)。我想为这个问题写一个 sql 查询。请帮忙

所以答案是 4、2、1。

【问题讨论】:

这看起来像家庭作业。到目前为止,您有没有采取任何措施来解决问题? 您使用的是哪个DBMS 产品?后格雷斯?甲骨文? “SQL”只是一种查询语言,并不是特定数据库产品的名称。 我正在使用 Amazon Redshift 唯一的值是 AAA。答案其实是3,2,1 对不起,我改变了问题 - 不同的不是唯一的 【参考方案1】:

您可以使用row_number()

select, seqnum, count(*)
from (select col, row_number() over (partition by col) as seqnum
      from t
      group by col
     ) h
group by seqnum
order by seqnum;

【讨论】:

以上是关于SQL查找不同值计数,2次重复值计数,3次重复值计数等的主要内容,如果未能解决你的问题,请参考以下文章

Django 计数具有重复值的行

JS计数重复出现

SQL:如何获取计数值的 sum() [重复]

MySQL 抛出“java.sql.SQLException:列计数与第 1 行的值计数不匹配”[重复]

查找指定列的重复行[重复]

每个值的累积计数[重复]