求一个SQL,连续次数

[复制链接]
查看11 | 回复1 | 2014-2-27 06:00:13 | 显示全部楼层 |阅读模式
本帖最后由 chengccy2010 于 2015-6-15 10:45 编辑
需求:求最近的连续次数;
例子:create tableTMP ASSELECT LEVEL AS L,'A' AS COL FROM DUAL WHERE LEVEL NOT IN(999,233)CONNECT BY LEVEL 复制代码查询A,B 在 L=1233566 已经连续多少次了?
我写的SQL,但是感觉效率太低了,因为业务数据远不止列子这点... 求大神们支招SELECT COL, 1233566 - MAX(L) + 1FROM (SELECT T.*,
NVL((L - LAG(L) OVER(PARTITION BY COL ORDER BY L)), 0) AS L1 FROM TMP T WHERET.L 复制代码



回复

使用道具 举报

千问 | 2014-2-27 06:00:13 | 显示全部楼层
这种需求全表访问不可避免,你可以用并行查询的特性
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行