하루의 값을 합산하여 완벽하게 작동하는 쿼리가 있습니다.날짜/시간이 서로 다른 날짜 사이의 합계
문제는 자정보다 큰 데이터를 다음 날 자정까지 보유해야한다는 것입니다. 테스트하려면 다음 코드를 테스트하여 하루 종일 사용하지 않는 첫 번째 값을 처리하는 데 도움이되었습니다.
DECLARE @a DATETIME
DECLARE @b DATETIME
SET @a = CAST('2016-03-21 00:01:00' AS DATETIME)
SET @b = DATEADD(SECOND,-86399 ,@a)
SELECT @a AS a, @b AS b
SELECT CAST(fldDateTime AS DATE) AS DayValue, SUM(fldValue) AS Val
FROM [dbo].[Data.tblMeterData]
WHERE fldDateTime BETWEEN @b AND @a
GROUP BY CAST(fldDateTime AS DATE)
ORDER BY DayValue
이 문제는 내가 처음 일 자정을 포함 할 수 없습니다 나는이 길이야에서 처리해야하는 ID의 수천을 가지고 첫 번째 데이터이기 때문에 나는, 날짜를 통해 루프를하지 않는다는 것입니다 자정 이후에 기록되고 마지막 일일 독서는 다음날 자정에 있습니다
- 는 ID의 첫 데이트를 찾아 다음날의 첫 번째 자정까지 이동하고 모든이를 반복 :
Date > '2016-03-20 00:00:00' AND <= 2016-03-21 00:00:00
어떻게 다음 작업을 수행 할 필요가 무엇을 할 수 다음 날.
- 이러한 값을 자정보다 크고 다음 날 자정까지 누적하십시오.
나는 약간의 샘플 데이터와 출력을 제공하는 것이 좋을 것이라고 생각한다. 당신이 원하는 것에 대해 명확하지 않다. – Cato
여기에있는 테이블 데이터와 결과 중 일부를 공유하는 가장 좋은 방법은 무엇입니까 –
내가 필요할 때 데이터가 자정보다 크고 다음 날 자정까지 올라가도록하려면 1/2/2016 00:00:00 = 1/2/2016 11:59:59 또는 1 초 이상의 의미가 필요합니다. 1/3/2016 00:00:00? – scsimon