У меня возникла проблема с созданием SQL-запроса.Значения различий 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.
Этот запрос работает правильно для «ежедневно» различия, но не для ежемесячных различий .. (Я ищу, чтобы разделить 1-ю запись каждый месяц ..) и группировка подзапроса представляется невозможной ...
Таблица 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
Выход, как мне это нужно: (Счетчик (М (М-1)))
date diff IP
-----------------------------------
2014-11-08 59936 100.0.15.51
2014-11-08 6383 100.0.15.53
etc.
Пожалуйста, отредактируйте ваш вопрос и укажите некоторые данные образца как а также желаемые результаты. –