同一张表如何实现以下减法------江湖救急

阴错阳差 2013-10-09 03:40:37
NO ID Bed Date

1 11111 A-1 2011-1-4 11:04
2 11111 A-2 2011-2-4 11:04
3 11111 A-3 2011-3-4 11:04
4 11111 A-4 2011-4-4 11:04
5 11112 A-4 2011-6-4 11:04
6 11112 A-5 2011-7-4 11:04
7 11112 A-6 2011-8-4 11:04


大神,如上表内容,如何实现以 ID 相同的 以 Bed列分组 Date列 做减法,

第2行-第1行
第3行-第2行
第4行-第3行
第6行-第5行
第7行-第6行
······

得到
11111 A-1 31
11111 A-2 28
11111 A-3 31
11112 A-4 30
11112 A-5 31

...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
阴错阳差 2013-10-09
  • 打赏
  • 举报
回复
分享一下:http://blog.csdn.net/xiao007ming/article/details/12516695
阴错阳差 2013-10-09
  • 打赏
  • 举报
回复
OK了!谢谢2楼
善若止水 2013-10-09
  • 打赏
  • 举报
回复
这是分析函数中的偏移量函数的用法,就是2楼所说的
无敌小二傻 2013-10-09
  • 打赏
  • 举报
回复
来晚了,2楼正解
shiyiwan 2013-10-09
  • 打赏
  • 举报
回复
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 
Connected as RCOTRPR1

SQL> select * from idcsdn;

        NO ID         BED        DAT
---------- ---------- ---------- -----------
         1 11111      A-1        1/4/2011 11
         2 11111      A-2        2/4/2011 11
         3 11111      A-3        3/4/2011 11
         4 11111      A-4        4/4/2011 11
         5 11112      A-4        6/4/2011 11
         6 11112      A-5        7/4/2011 11
         7 11112      A-6        8/4/2011 11

7 rows selected

SQL> 
SQL> SELECT no, id, bed, next_dat - dat
  2    FROM (SELECT no, id, bed, dat, lead(dat, 1) over(PARTITION BY id ORDER BY bed) AS next_dat FROM idcsdn)
  3   WHERE next_dat IS NOT NULL;

        NO ID         BED        NEXT_DAT-DAT
---------- ---------- ---------- ------------
         1 11111      A-1                  31
         2 11111      A-2                  28
         3 11111      A-3                  31
         5 11112      A-4                  30
         6 11112      A-5                  31

SQL> 
bzpmz 2013-10-09
  • 打赏
  • 举报
回复
select b.id,b.bed,a.sj-b.sj from test_table a,test_table b where a.no=b.no+1 and a.id=b.id

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧