初学者求教

G66606495 2008-11-26 05:22:47
字段 NAME D_BEGIN_TIME D_END_TIME
数据 N1 2008-01-02 2008-01-04
N2 2008-01-14 2008-03-05
N3 2008-03-15 2008-03-22
N4 2008-03-25 2008-04-01
. . .
. . .
. . .

如何找到第N条记录的NAME值, 第N条记录的要求是 D_BEGIN_TIME最大且D_BEGIN_TIME减去第N-1条的D_END_TIME要等于10
比如上面数据N3条 D_BEGIN_TIME 2008-03-15 和N2的 D_END_TIME 2008-03-05 间隔天数为10 ,
N2条 D_BEGIN_TIME 2008-01-14 和N1的 D_END_TIME 2008-01-04的间隔天数也为10 ,但2008-03-15比2008-01-14 大
所以N3就是我要取得值
...全文
108 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mantisXF 2008-11-26
  • 打赏
  • 举报
回复
很多问题都是在原有问题上变了一下... ai~~[Quote=引用楼主 G66606495 的帖子:]
字段 NAME D_BEGIN_TIME D_END_TIME
数据 N1 2008-01-02 2008-01-04
N2 2008-01-14 2008-03-05
N3 2008-03-15 2008-03-22
N4 2008-03-25 2008-04-01
. . .
. . .
. . .

如何找到第N条记录的NAME值, 第N条记录的要求是 D_BEGIN_TIME最大且D_BEGIN_TIME减去第N-1条的D_END_T…
[/Quote]
BlueskyWide 2008-11-26
  • 打赏
  • 举报
回复

select max(tab2.name)
from (select rownum a, D_BEGIN_TIME c, D_END_TIME d from table_test) tab1,
(select rownum a, D_BEGIN_TIME c, D_END_TIME d from table_test) tab2
where tab2.D_BEGIN_TIME - tab1.D_END_TIME = 10
and tab2.rownum - tab1.rownum = 1;




[Quote=引用楼主 G66606495 的帖子:]
字段 NAME D_BEGIN_TIME D_END_TIME
数据 N1 2008-01-02 2008-01-04
N2 2008-01-14 2008-03-05
N3 2008-03-15 2008-03-22
N4 2008-03-25 2008-04-01
. . .
. . .
. . .

如何找到第N条记录的NAME值, 第N条记录的要求是 D_BEGIN_TIME最大且D_BEGIN_TIME减去第N-1条的D_END_T…
[/Quote]
codearts 2008-11-26
  • 打赏
  • 举报
回复
scott@ORA1> select * from t;

NAME D_BEGIN_TIME D_END_TIME
-------------------- ------------------- -------------------
n1 2008-01-02 00:00:00 2008-01-04 00:00:00
n2 2008-01-14 00:00:00 2008-03-05 00:00:00
n3 2008-03-15 00:00:00 2008-03-22 00:00:00
n4 2008-03-25 00:00:00 2008-04-01 00:00:00

scott@ORA1>
scott@ORA1> with x as (
2 select name
3 ,d_begin_time
4 ,d_end_time
5 ,d_begin_time - lag(d_end_time) over(order by rownum) gaps
6 from t
7 )
8 select *
9 from (
10 select name
11 ,d_begin_time
12 ,d_end_time
13 ,row_number() over(order by d_begin_time desc) rn
14 from x
15 where gaps = 10
16 )
17 where rn = 1;

NAME D_BEGIN_TIME D_END_TIME RN
-------------------- ------------------- ------------------- ----------
n3 2008-03-15 00:00:00 2008-03-22 00:00:00 1
hebo2005 2008-11-26
  • 打赏
  • 举报
回复
这个也不难,
select *
select *
from
(
select a.*,D_BEGIN_TIME-lag(D_END_TIME,1,D_BEGIN_TIME) (order by D_BEGIN_TIME) int_day
from a

)
where int_day=10
order by D_BEGIN_TIME desc)
where rownum=1
基于stm32的智能小车,使用hal库(搭配视频见上一篇博客视频)纯免费 这是免费的完整的资料,因为个人问题我没有正规的建立文件夹使用正点原子的那一套,因为有点点小麻烦,抱歉啦。后续我会改掉这个坏习惯,这个我手写的代码呢共初学者借鉴(也是我学习之路的苦,希望对大家有帮助),供大佬们批评指正,我一定虚心求教。 本人是成都大学大一的一名学生,所以也是初学者,对这方面非常感兴趣,在一位老师的建议下开始买了stm32正点原子的板子开始学习hal库,几个星期以后买了配件开始边学边做stm32小车,本文适用于想完成一个基础智能两轮车加一个万向轮的初学者,大佬还请勿喷,非常欢迎各位指出错误的地方,和我有待提升的地方,我一定虚心求教。 说实话我找到网上我能找到的都是标准库,想找一个免费hal库的参考真的很难,资料也不齐,希望我自己学习纯手写成功的寻迹小车能帮到各位初学者以及欢迎大佬批评指正。这个我手写的代码呢共初学者借鉴(也是我学习之路的苦,希望对大家有帮助),供大佬们批评指正,我一定虚心求教。基于stm32的智能小车,使用hal库(搭配视频见上一篇博客视频)纯免费 我手写的代码呢共初学者借鉴(也是我

17,382

社区成员

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

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