社区
基础和管理
帖子详情
带时间间隔的SQL怎么写
fanday
2009-09-10 03:15:20
有张表,很大,里面的数据是每秒一条,有个插入时间列。
现在有3个条件:starttime,endtime,intervaltime
即:取得的数据要符合以下条件:
插入时间在starttime和endtime之间的,但不是每条数据都要,
需要做一个筛选,即时间间隔为intervaltime。
请问这个SQL怎么写?由于表很大,需要SQL语句效率高些,谢谢。
...全文
163
7
打赏
收藏
带时间间隔的SQL怎么写
有张表,很大,里面的数据是每秒一条,有个插入时间列。 现在有3个条件:starttime,endtime,intervaltime 即:取得的数据要符合以下条件: 插入时间在starttime和endtime之间的,但不是每条数据都要, 需要做一个筛选,即时间间隔为intervaltime。 请问这个SQL怎么写?由于表很大,需要SQL语句效率高些,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fanday
2009-09-13
打赏
举报
回复
[Quote=引用 6 楼 wxmwzz2004 的回复:]
引用 5 楼 fanday 的回复:
问题解决,感谢2楼的mod和大家的参与,结贴给分。
解决方案(时间间隔部分):
select t.* from t where mod((inserttime-to_date('2009-9-3 8:59:58','yyyy-mm-dd hh24:mi:ss'))*24*3600,intervaltime )=0
我怎么看不懂呢,如果开始时间是2点,要求的时间间隔是2,在3点,4点,5点,6点各插一条数据 ,那依照这个方法是不是4点和6点都取出来了.
[/Quote]
对,是这个道理,不过得把你的‘点’改成‘秒’
wxmwzz2004
2009-09-11
打赏
举报
回复
[Quote=引用 5 楼 fanday 的回复:]
问题解决,感谢2楼的mod和大家的参与,结贴给分。
解决方案(时间间隔部分):
select t.* from t where mod((inserttime-to_date('2009-9-3 8:59:58','yyyy-mm-dd hh24:mi:ss'))*24*3600,intervaltime )=0
[/Quote]
我怎么看不懂呢,如果开始时间是2点,要求的时间间隔是2,在3点,4点,5点,6点各插一条数据 ,那依照这个方法是不是4点和6点都取出来了.
fanday
2009-09-10
打赏
举报
回复
问题解决,感谢2楼的mod和大家的参与,结贴给分。
解决方案(时间间隔部分):
select t.* from t where mod((inserttime-to_date('2009-9-3 8:59:58','yyyy-mm-dd hh24:mi:ss'))*24*3600,intervaltime )=0
fuyou001
2009-09-10
打赏
举报
回复
select *
from (
select startTime ,endTime ,endTime-startTime min,rownum
from t
)
where startTime >=date and endTime<=date2 and min=intervaltime
用下内联视图
shiyiwan
2009-09-10
打赏
举报
回复
忽略#2回复,语句效率不及#1且取模不对。
shiyiwan
2009-09-10
打赏
举报
回复
select * from
(select * from tablename where dt between starttime and endtime order by dt)
where (rownum-1) % intervaltime = 0;
小灰狼W
2009-09-10
打赏
举报
回复
select * from tt
where datetime between atarttime and endtime
and mod(datetime-starttime,intervaltime)=0
【
SQL
开发实战技巧】系列(十六):数据仓库中时间类型操作(初级)日、月、年、时、分、秒之差及
时间间隔
计算
日、月、年、时、分、秒之差及
时间间隔
计算。【
SQL
开发实战技巧】这一系列博主当作复习旧知识来进行
写
作,毕竟
SQL
开发在数据分析场景非常重要且基础,面试也会经常问
SQL
开发和调优经验,相信当我
写
完这一系列文章,...
[
SQL
Server]
时间间隔
计算 - DATEDIFF函数
主要是用于计算两个时间点之间的间隔
SQL
格式 DATEDIFF([date type], time1, time2) Date type
SQL
中Date type是用来定义两个时间点之间隔的类型 间隔类型(Date type 可填
写
的种类)分为以下几种: year:年 ...
sql
查询
时间间隔
查询指定时间与当前时间相差天数 select datediff(day,'2004-01-01',getdate()) 查询一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 查询本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,...
查询
时间间隔
的
sql
语句
查询指定时间与当前时间相差天数 select datediff(day,‘2004-01-01’,getdate()) 查询一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 查询本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,...
SQL
学习之
时间间隔
函数
MY
SQL
的DATE_SUB函数,可以对「一个时间」进行
时间间隔
的切割 用法如下 --
时间间隔
函数 SELECT DATE_SUB('2010-08-12', INTERVAL 3 DAY) AS NewDate;-- 往前3天 SELECT DATE_SUB('2013-08-12', INTERVAL '3-2' YEAR...
基础和管理
17,377
社区成员
95,127
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章