我在创建SQL查询时遇到了问题。每月2行之间的SQL Server差异值
本应用程序的目标是使两个值之间的区别定义每月的第一个。
这里是我已经建立了查询:
SELECT
Date,
Compteur - (SELECT MAX(Compteur)
FROM SnmpDataPages
WHERE IP = t1.ip AND (Date < t1.Date) AND Compteur IS NOT NULL) AS diff,
IP
FROM
SnmpDataPages AS t1
WHERE
Compteur IS NOT NULL
AND Date BETWEEN dateadd(YEAR, -1, CAST(getdate() AS DATE)) AND CAST(getdate() AS DATE)
ORDER BY
Date, diff DESC
这将返回的输出:
Date Diff IP
---------------------------------
2014-11-04 5075 149.0.15.40
2014-11-04 1623 149.0.19.177
2014-11-04 1264 149.0.19.77
etc.
这个请求正常工作的“日报”的差异,而不是每月的差异。(我搜索差异第一个记录关闭每个月..)和分组子查询似乎不可能...
表SnmpDataPage
是每天增加ip每个每ipheril在公园和有计数器(总页数)
实施例:
id IP Counter Date Model
-----------------------------------------------
28780 100.0.15.51 140064 2014-10-08 Lexmark
28781 100.0.15.53 243617 2014-10-08 Lexmark
28782 100.0.15.55 24101 2014-10-08 Samsung
28783 100.0.15.56 135907 2014-10-08 Brother
44000 100.0.15.51 200000 2014-11-08 Lexmark
44001 100.0.15.53 250000 2014-11-08 Lexmark
44002 100.0.15.55 24200 2014-11-08 Samsung
44003 100.0.15.56 230000 2014-11-08 Brother
输出作为予需要它:(计数器(M-(M-1)))
date diff IP
-----------------------------------
2014-11-08 59936 100.0.15.51
2014-11-08 6383 100.0.15.53
etc.
请编辑您的问题并提供一些示例数据以及期望的结果。 – 2014-11-05 16:09:20