SQL Server流水时间统计
各位好,小弟目前需要做一个查询统计,使用SQL 2005,描述如下
- SQL code
两个表A表是流水表,B表是基础表A表IP 时间192.168.1.1 2012-02-01 08:00:00192.168.1.3 2012-02-01 08:00:01192.168.1.3 2012-02-01 08:01:00192.168.1.1 2012-02-01 08:01:00192.168.1.1 2012-02-01 08:06:00192.168.1.3 2012-02-01 08:07:00192.168.1.3 2012-02-01 09:01:00192.168.1.4 2012-02-01 09:07:00B表IP 开始时间1 结束时间1 开始时间2 结束时间2192.168.1.1 9:00 11:30 2:00 5:30192.168.1.2 9:00 11:30 2:00 5:30192.168.1.2 9:00 11:30 2:00 5:30192.168.1.4 9:00 11:30 2:00 5:30192.168.1.5 9:00 11:30 2:00 5:30假如现在的时间是早上10:00,我想查询出每个IP在【开始时间1 、结束时间1、开始时间2和结束时间2之间】时间差大于5分钟的数据查询结果IP 开始时间 结束时间 差距192.168.1.1 2012-02-01 09:00:00 2012-02-01 10:00:00 60192.168.1.2 2012-02-01 09:00:00 2012-02-01 10:00:00 60192.168.1.3 2012-02-01 09:01:00 2012-02-01 10:00:00 59192.168.1.4 2012-02-01 09:00:00 2012-02-01 09:07:00 7192.168.1.4 2012-02-01 09:07:00 2012-02-01 10:00:00 53192.168.1.5 2012-02-01 09:00:00 2012-02-01 10:00:00 60首次发帖,感谢阅览
[解决办法]
- SQL code
CREATE TABLE #TestA( ip NVARCHAR(20), dates DATETIME )INSERT INTO #TestA values('192.168.1.1','2012-02-01 08:00:00')INSERT INTO #TestA values('192.168.1.3','2012-02-01 08:00:01')INSERT INTO #TestA values('192.168.1.3','2012-02-01 08:01:00')INSERT INTO #TestA values('192.168.1.1','2012-02-01 08:01:00')INSERT INTO #TestA values('192.168.1.1','2012-02-01 08:06:00')INSERT INTO #TestA values('192.168.1.3','2012-02-01 08:07:00')INSERT INTO #TestA values('192.168.1.3','2012-02-01 08:01:00')INSERT INTO #TestA values('192.168.1.4','2012-02-01 08:07:00')CREATE TABLE #TestB( ip NVARCHAR(20), beginDate1 NVARCHAR(20), endDate1 NVARCHAR(20), beginDate2 NVARCHAR(20), endDate2 NVARCHAR(20) )INSERT INTO #TestB VALUES ('192.168.1.1','9:00','11:30','2:00','5:30')INSERT INTO #TestB VALUES ('192.168.1.2','9:00','11:30','2:00','5:30')INSERT INTO #TestB VALUES ('192.168.1.3','9:00','11:30','2:00','5:30')INSERT INTO #TestB VALUES ('192.168.1.4','9:00','11:30','2:00','5:30')INSERT INTO #TestB VALUES ('192.168.1.5','9:00','11:30','2:00','5:30')SELECT * FROM #TestASELECT * FROM #TestBDROP TABLE #TestADROP TABLE #TestB测试数据都写好了,才发现需求很2,先贴这,等楼主需求讲明白了。方便大家。楼主,你检查一下,是不是上面的数据随便写的没写出点规律啊,哪个是A表中如何判断哪个是开始时间,哪个是结束时间啊。
[解决办法]
如需要阅读该回复,请登录或注册CSDN!