如何用一条SQL语句获得每隔5分钟一个时间记录的结果?

every_one 2004-11-20 11:49:02
如何用一条SQL语句获得每隔5分钟一个时间记录的结果?
比如说:

2004-10-01 00:05:00
2004-10-01 00:10:00
2004-10-01 00:15:00
2004-10-01 00:20:00
2004-10-01 00:25:00
2004-10-01 00:30:00
2004-10-01 00:35:00
2004-10-01 00:40:00
.
.
.
.
.
.
.
.
2004-10-01 23:55:00
2004-10-02 00:00:00

要求只使用一个sql语句,不能用临时表

数据库是9i

...全文
976 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
every_one 2004-11-21
  • 打赏
  • 举报
回复

唉,看来只能建立一个动态表了。

其实我只是需要一个结果集,这个结果集不和任何关联,就算是关联也最好是dual表。

好象这个办法不可行啊。:(
every_one 2004-11-21
  • 打赏
  • 举报
回复
1 楼的方法不行,要对应相关的表,如果这样我还不如直接建立一个临时表呢。我还可以动态建立一个临时表,用完就删除呢,建立动态表是我实在是没有办法的办法了。

2 楼的方法也是 要对应一个表,对应dual表怎么样呢?

oracle里面的求模函数是 mod(x,y),我好象得到一个思路,去试试线,多谢了!
ORARichard 2004-11-21
  • 打赏
  • 举报
回复
如果还有截止时间,可在条件中增加

and 时间<截止时间
ORARichard 2004-11-21
  • 打赏
  • 举报
回复
楼主所要的每隔5分钟总该有个相对于某个时间吧如从2004-10-01 00:00:00起的每隔5分钟。

假定起始时间如上:

select * from tab where 时间>=to_date('2004-10-01 00:00:00','yyyy-mm-dd hh:mm:ss') and to_number(to_char(时间,'mi')) in (0,5,10,15,20,25,30,35,40,45,50,55)

不知道ORACLE中求模的函数是什么,否则可以简化上式
comcn 2004-11-21
  • 打赏
  • 举报
回复
select to_char(to_date('2004-11-01 00:00:00','YYYY-MM-DD HH24:MI:ss')
+ rownum*5/24/60,'YYYY-MM-DD HH24:MI:ss') from tab

如楼主所愿吧,没用临时表,所得到的记录数与你的表相关,如:把tab 换成一个十万记录的表,你就可以得到十万条时间记录
every_one 2004-11-21
  • 打赏
  • 举报
回复

是没有区别啊,没有办法才这样做的,我不是说了是个折中办法吗?

因为测试过了,性能还可以。

ok,结帖了
comcn 2004-11-21
  • 打赏
  • 举报
回复
晕倒,这和我的办法有何区别
every_one 2004-11-21
  • 打赏
  • 举报
回复

这个时间是不和任何一个表相关联的,我就是想要这个记录而已,这个5秒的时间间隔也是我自己可以指定的,比如说1分钟,2分钟,5分钟什么的。从itpub上得到一个答案:

SELECT TO_CHAR(TRUNC(SYSDATE, 'DD') + (5 / (24 * 60) * ROWNUM),
'YYYY-MM-DD hh24:MI:SS')
FROM ALL_OBJECTS
WHERE ROWNUM <= 1440 / 5;

这是5分钟的,

SELECT TO_CHAR(TRUNC(SYSDATE, 'DD') + (1 / (24 * 60) * ROWNUM),
'YYYY-MM-DD hh24:MI:SS')
FROM ALL_OBJECTS
WHERE ROWNUM <= 1440 / 1;

这是1分钟的。


前提条件是表ALL_OBJECTS的记录大于1440行。当然实际上这个表的记录确实大于1440行。

这个办法也算是一个折中的办法吧。
ORARichard 2004-11-21
  • 打赏
  • 举报
回复
按楼主的意思,这个时间不是表中的字段喽,那记录和时间又是怎样的关系呢,总不会是每5秒中有一条记录被生成吧。

不太理解楼主的意思

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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