sql查询语句计算重复数据个数

sql查询语句计算重复数据个数,第1张

1、创建测试表,

create table test_count(id varchar2(20), value varchar2(20))

2、插入测试数据

insert into test_count values(1, 1)

insert into test_count values(2, 1)

insert into test_count values(3, 1)

insert into test_count values(4, 2)

insert into test_count values(6, 1)

insert into test_count values(7, 3)

insert into test_count values(8, 3)

insert into test_count values(9, 3)

insert into test_count values(10, 3)

commit

3、查询表中全量数据,select t.*, rowid from test_count t

4、编写sql,可以得到每一个value重复的个数,并按照由大到小排列;

 select value, count(*) from test_count t group by value order by 2 desc

数据库开窗函数count()over()可以实现你的需求,但是你的数据库有没有类似的开窗函数我就不知道的,一般来说oracle应该可以实现,sqlserver和mysql中mysql没有响应的开窗函数,要自己做,sqlserver中有类似的聚合开窗函数,但是count能不能用我不是很确定。

select count(*)over(partition by fsu_device_id) 重复次数,你的字段 from (你上面的select语句)

我写了一个最简单的,也就是在你的语句外面又套了一层,你可以试试能不能不套这一层,不过我没有环境没办法测试,所以就直接套了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9940771.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存