У меня есть таблица со столбцами:
ID_LOG (this is the pk) | TS (type=datetime) | VALUE (type=double) | ID_CHANNEL (unique).
Эта таблица регистрирует значения из разных каналов каждые 15 минут.Значения взяты из некоторых счетчиков, поэтому они всегда увеличиваются.
Теперь я хочу получить разницу между максимальным и минимальным значением (таким образом, чистой разницей) каждого дня прошлого года определенного канала.
Что-токак:
SELECT MAX(T1.value) - MIN(T1.value), T1.ts
FROM dbo.[LOG] as T1
WHERE T1.ts > DATEADD(year, -1, GETDATE()) and
T1.ID_CHANNEL=x //[x being the channel i want]
GROUP BY SOMEDATEFUNCITON(T1.ts) //[SOMEDATEFUNCTION is the function that groups results by date not taking in consideration the time of timestamp but only year-month-day]
Меня не волнует эффективность, так как я буду делать этот запрос только один или два раза в год.Это возможно?А как бы вы поступили?
Большое спасибо!