阅读量:3
要查询连续出现多次的数据,可以使用窗口函数和分析函数来实现。以下是一个示例查询来查找在一个表中连续出现超过3次的数据:
WITH consecutive_counts AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY data, grp ORDER BY id) AS rnk,
ROW_NUMBER() OVER (PARTITION BY data ORDER BY id) - ROW_NUMBER() OVER (PARTITION BY data, grp ORDER BY id) AS diff
FROM (
SELECT *,
ROW_NUMBER() OVER (ORDER BY id) - ROW_NUMBER() OVER (PARTITION BY data ORDER BY id) AS grp
FROM your_table
) t
)
SELECT data, COUNT(*) AS consecutive_count
FROM consecutive_counts
GROUP BY data, diff
HAVING COUNT(*) > 3
在这个例子中,首先使用ROW_NUMBER()来给每行数据分配一个唯一的序号,然后根据数据的变化情况(连续出现的数据在同一个grp组中)计算出连续出现次数,并最终根据这个次数来筛选出连续出现超过3次的数据。
以上就是关于“oracle怎么查询连续出现多次的数据”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm