求sql语句,请高手不吝赐教,万谢,万谢! ( 积分: 100 )

  • 主题发起人 主题发起人 grabi
  • 开始时间 开始时间
G

grabi

Unregistered / Unconfirmed
GUEST, unregistred user!
表中slot字段只有0和2两个状态,select&nbsp;*&nbsp;from&nbsp;表&nbsp;where&nbsp;slot=0,我想得出符合条件的记录和紧接着它的下一条记录的时间间隔,例如:第一条记录和第二条记录的时间间隔是7分钟。怎样能得出和它紧接的下一条记录的时间间隔呢?还有如果连续的几条记录中slot字段中都为零,则求出最后面为零的记录和前面的时间间隔,请大哥们帮忙!<br>表:&nbsp;&nbsp;pot&nbsp;&nbsp;&nbsp;time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tartget&nbsp;&nbsp;working&nbsp;&nbsp;&nbsp;current&nbsp;slot<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:38:20&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:45:20&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:45:40&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:46:20&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:48:20&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:48:20&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:49:00&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:50:20&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;201&nbsp;&nbsp;&nbsp;2007-12-8&nbsp;8:51:20&nbsp;&nbsp;&nbsp;4148&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4156&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1929&nbsp;&nbsp;&nbsp;&nbsp;2
 
这些需要自己计算啊,sql好像没直接获取的,先查询然后计算
 
第一个问题应该不难,你循环得出符合条件的记录,日期升续,每个相减得出的差值不就是了嘛;第二个问题有点难,没有条件搜索啊?
 
存储过程可以吗,我没试,但觉得有可能性
 
select&nbsp;b.*,&nbsp;a.time&nbsp;-&nbsp;c.time&nbsp;as&nbsp;t&nbsp;from&nbsp;tab&nbsp;a,(<br>&nbsp;&nbsp;select&nbsp;pot,&nbsp;max([time])&nbsp;[time],&nbsp;tartget,&nbsp;working,&nbsp;[current],&nbsp;slot<br>&nbsp;&nbsp;from&nbsp;tab&nbsp;b<br>&nbsp;&nbsp;where&nbsp;b.time&nbsp;&lt;&nbsp;a.time&nbsp;and&nbsp;b.slot&nbsp;=&nbsp;0<br>&nbsp;&nbsp;group&nbsp;by&nbsp;pot,&nbsp;tartget,&nbsp;working,&nbsp;[current],&nbsp;slot<br>)&nbsp;c&nbsp;where&nbsp;a.slot&nbsp;=&nbsp;2
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
855
import
I
I
回复
0
查看
596
import
I
I
回复
0
查看
695
import
I
后退
顶部