求距离最近的时间SQL

aim_less 2009-11-25 04:06:48
表有4个栏位,以一条线为例
mac_id varchar2(20) --机器编号
d_date date --机器状态开始的时间
line_id varchar2(20) --线别 一条线可以有多台机器
mac_status varchar2(20) --机器的状态

mac_id d_date line_id mac_status
a1 2009-01-01 12:10:00 a colse
a1 2009-01-01 12:20:00 a stops
a1 2009-01-01 12:30:00 a opens
a2 2009-01-01 12:30:00 a opens
a2 2009-01-01 12:40:00 a colse
a2 2009-01-01 12:50:00 a colse
a2 2009-01-01 12:55:00 a opens

以a2为例
求a2 从colse ---》opens的时间
结果是
mac_id d_date line_id o_time cha_time
a2 2009-01-01 12:40:00 a 2009-01-01 12:55:00 o_time -d_date
a2 2009-01-01 12:50:00 a 2009-01-01 12:55:00 o_time -d_date

...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2009-11-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wildwave 的回复:]
SQL codeselect mac_id,min(d_date)d_date,line_id,max(d_date)o_time,round((max(d_date)-min(d_date))*24*60,2)||'分钟' cha_timefrom(select tt.*,
row_number()over(partitionby mac_id,line_idorderby d_date)rnfrom tt)t

startwith mac_status='close'
connectby prior rn=rn-1and prior mac_id=mac_idand prior mac_status<>'opens'groupby mac_id,line_id,connect_by_root rn

MAC_ID D_DATE LINE_ID O_TIME CHA_TIME
a12009-1-112:10:00 a2009-1-112:30:00 20分钟
a22009-1-112:50:00 a2009-1-112:55:00 5分钟
a22009-1-112:40:00 a2009-1-112:55:00 15分钟
[/Quote]

wildwave,你是我的偶像!
lbaj123 2009-11-25
  • 打赏
  • 举报
回复
你是想取最近时间的多少条?
小灰狼W 2009-11-25
  • 打赏
  • 举报
回复
select mac_id,min(d_date)d_date,line_id,
max(d_date)o_time,round((max(d_date)-min(d_date))*24*60,2)||'分钟' cha_time
from(

select tt.*,
row_number()over(partition by mac_id,line_id order by d_date)rn
from tt)t

start with mac_status='close'
connect by prior rn=rn-1
and prior mac_id=mac_id
and prior mac_status<>'opens'

group by mac_id,line_id,connect_by_root rn

MAC_ID D_DATE LINE_ID O_TIME CHA_TIME
a1 2009-1-1 12:10:00 a 2009-1-1 12:30:00 20分钟
a2 2009-1-1 12:50:00 a 2009-1-1 12:55:00 5分钟
a2 2009-1-1 12:40:00 a 2009-1-1 12:55:00 15分钟
lzbbob1985 2009-11-25
  • 打赏
  • 举报
回复
不明白什么意思 帮顶

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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