我有一个表的数据,如下面的SQL Server:三角洲随着时间的推移 - SQL服务器
+-------+------------+-------------------------+--------------------------+
| ID | IP | Date | NumFails |
+-------+------------+-------------------------+--------------------------+
| 21365 | 172.16.2.1 | 2016-05-16 00:20:54.000 | 200 |
| 21457 | 172.16.3.1 | 2016-05-16 00:21:05.000 | 295 |
| 21478 | 172.16.4.1 | 2016-05-16 00:22:46.000 | 128 |
| 24255 | 172.16.2.1 | 2016-05-16 12:22:01.000 | 213 |
| 24318 | 172.16.3.1 | 2016-05-16 12:22:12.000 | 297 |
| 24366 | 172.16.4.1 | 2016-05-16 12:23:52.000 | 243 |
| 25699 | 172.16.2.1 | 2016-05-16 18:21:31.000 | 226 |
| 25794 | 172.16.3.1 | 2016-05-16 18:21:41.000 | 347 |
| 25811 | 172.16.4.1 | 2016-05-16 18:22:51.000 | 270 |
| 27142 | 172.16.2.1 | 2016-05-17 00:22:45.000 | 227 |
| 27193 | 172.16.3.1 | 2016-05-17 00:22:55.000 | 347 |
| 27251 | 172.16.4.1 | 2016-05-17 00:23:59.000 | 270 |
+-------+------------+-------------------------+--------------------------+
我对如何做到这一点编程的想法,但是我太新到SQL知道如何做到这一点:我想得到特定时间段的NumFails的增量。为此,我希望能够执行以下查询:
从时间段A选择IP地址(< 2016-05-17 01:00:00.000和> 2016-05-17 00:00:00.000)并与时间段B(< 2016-05-16 01:00:00.000和> 2016-05-16 00:00:00.000)中的IP地址相匹配并返回IP地址,并返回期间A的差值numfails result MINUS period b numfails result 。这是在时间段A(所有都是唯一的)与时间段B比较每个唯一的IP地址。
任何简单的方法来做这样的事情?我想每天运行报告,因此期间A将转移到今天的日期,而期间B将是前一天的日期。我可以预先填充调用SQL,但我不知道要构建什么来获取这两个值并执行差异和报告。
您可以发布以上示例数据所需的输出。有关获取帮助的更多信息,请在此处快速获得帮助或甚至上传:https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question- on-a-public-forum/ – TheGameiswar
查看http://stackoverflow.com/questions/634568/how-to-get-difference-between-two-rows-for-a-column-field –
请阅读[** How (http://stackoverflow.com/help/how-to-ask) \t \t这里是[** START **]的好地方(http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum /)来了解如何提高问题质量并获得更好的答案。 –