ITPUB论坛-中国最专业的IT技术社区

 
 注册
热搜:
12
返回列表 发新帖
楼主: wa47750033

这个需求如何利用OVER()开窗函数来解决?

[复制链接]
论坛徽章:
304
奥迪
日期:2013-07-29 13:45:59红旗
日期:2014-02-07 10:47:20路虎
日期:2014-02-13 10:34:03保时捷
日期:2014-02-14 09:46:462014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14
11#
发表于 2017-12-4 17:34 | 只看该作者
SQL>with tmp as
(select 1  num1,   100  num2  from dual union all
select 2  num1,   80   num2  from dual union all
select 3  num1,   110  num2  from dual union all
select 4  num1,   120  num2  from dual union all
select 5  num1,   70   num2  from dual union all
select 6  num1,   140  num2  from dual union all
select 7  num1,   150  num2  from dual union all
select 8  num1,   160  num2  from dual union all
select 9  num1,   155  num2  from dual union all
select 10 num1,   170  num2  from dual)
select   2    3  * from (select num1, num2, lag(num2,1,0) over(order by num1) num3 from tmp)
where num2>=num3 ;
  4    5    6    7    8    9   10   11   12   13  
      NUM1       NUM2       NUM3
---------- ---------- ----------
         1        100          0
         3        110         80
         4        120        110
         6        140         70
         7        150        140
         8        160        150
        10        170        155

7 rows selected.

Elapsed: 00:00:00.00

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2017-12-4 19:35 | 只看该作者
学习了

使用道具 举报

回复

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

本版积分规则

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 |
  | | |
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表