现在做一个数据丢失的统计工作,比如说我的表table中有,“井号,日期,压力,温度”井号 日期 压力 温度
港1 2010-9-16 00:00:00 1 50
港2 2010-9-16 00:00:00 1 50
港3 2010-9-16 00:00:00 1 50
港1 2010-9-16 00:10:00 1 50
港3 2010-9-16 00:10:00 1 50
港3 2010-9-16 00:20:00 1 50
港2 2010-9-16 00:20:00 1 50
..........
..........那丢失的数据为:港1 2010-9-16 00:20:00
港2 2010-9-16 00:10:00
............
........
数据是每隔10钟每一口井写道数据库中一次数据,
现在需要做的工作是,统计数据丢失数据的井号,要求是查询出不同的井号放在不同的虚拟表里面
或者不用虚拟表,直接能统计出每口井在某个时间段内丢失的数据情况,
港1 2010-9-16 00:00:00 1 50
港2 2010-9-16 00:00:00 1 50
港3 2010-9-16 00:00:00 1 50
港1 2010-9-16 00:10:00 1 50
港3 2010-9-16 00:10:00 1 50
港3 2010-9-16 00:20:00 1 50
港2 2010-9-16 00:20:00 1 50
..........
..........那丢失的数据为:港1 2010-9-16 00:20:00
港2 2010-9-16 00:10:00
............
........
数据是每隔10钟每一口井写道数据库中一次数据,
现在需要做的工作是,统计数据丢失数据的井号,要求是查询出不同的井号放在不同的虚拟表里面
或者不用虚拟表,直接能统计出每口井在某个时间段内丢失的数据情况,
不如在程序里做处理还比较方便,或者用存储过程+游标遍历处理
我就是在程序里面处理的呀,不是在sql里面查询的,用的是visual studio 2005,在那里面应该怎么做呀?
假定你分析的开始时间是2010-9-16 00:00:00,结束时间为当前,参考代码:SELECT B.井号,T.时间
FROM
(select dateadd(MI,10*number,'2010-9-16 00:00:00') AS 时间,number from master..spt_values where type='P') T
cross JOIN (select DISTINCT 井号 FROM TB) B
WHERE T.时间<=GETDATE() AND NOT EXISTS(SELECT * FROM TB WHERE TB.井号=B.井号 AND TB.日期=T.时间)