在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
有些事情始终是需要坚持下去的。。。 今天复习一下之前用到的连续相同数据的统计。 首先,创建一个简单的测试表,这里过程就略过了,直接上表(真的是以简单为主,哈哈…) 第一种写法 SELECT val,COUNT(*) FROM (SELECT ID,val, row_number() OVER(ORDER BY ID)-row_number() OVER(PARTITION BY val ORDER BY ID) x FROM LCY ) GROUP BY val,x ORDER BY MIN(ID); 第二种 SELECT val,COUNT(*) FROM (SELECT ID,val, rank() OVER(ORDER BY ID)-rank() OVER(PARTITION BY val ORDER BY ID) x FROM LCY) GROUP BY val,x ORDER BY MIN(ID); 第三种 SELECT val,COUNT(*) FROM (SELECT ID,val, dense_rank() OVER(ORDER BY ID)-dense_rank() OVER(PARTITION BY val ORDER BY ID) x FROM LCY )GROUP BY val,x ORDER BY MIN(ID); 结果: 三者在这里的用法只是换汤不换药,但是在其他的需求里还是有区别的,比如成绩排名。 本章涉及到的知识点是分析函数、聚合函数,除此之外还有数据分析函数和统计求和函数。 简单介绍一下: 聚合函数
分析函数
数据分析函数
统计求和函数 CUBE :按照OLAP的CUBE方式进行数据统计,即各个维度均需统计 下一篇文章介绍三者的区别,还有其他一些常用的分析函数和聚合函数。 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对极客世界的支持。如果你想了解更多相关内容请查看下面相关链接 |
请发表评论