나는 다음과 같다 테이블이 있습니다 -SQL 서버 : 갭/섬, 날짜 시간, 연속 블록 365일 블록
tblMeterReadings
ID 미터를 period_start 0 1,237,819, 는 양
1 1 2014년 1월 1일 0시 2014년 1월 1일 00 을 period_end : 29:59 ,365,583,210 100.3
2 1 2014년 1월 1일 0시 반 2014년 1월 1일 0시 59분 59초 50.5
3 1 2014-01-01 01:00 2014-01-0 1 1시 29분 59초 70.7
4 1 2014년 1월 1일 1시 반 2014년 1월 1일 1시 59분 59초 900.1
5 1 400.0
6 1 2014년 1월 1일 2시 반 2014년 1월 1일 2시 2014년 1월 1일 2시 29분 59초 2014-01-01 02:59:59 200.3
7 1 2014년 1월 1일 3시 2014년 1월 1일 3시 29분 59초 100.8
8 1 2014-01-01 03:30 2014-01-01 03:59:59 012 37,819, 140.3
이 '2014-01-01 00:00' to '2014-01-01 3:59:59'
에서 작은 "연속 블록"입니다.
실제 테이블에는 길이가 연속 된 "연속 블록"이 있습니다.
가장 최근의 것의 period_start 및 period_end를 찾아야합니다. 연속 365 일 완료 (미터 열로 파일 작성).
내가 말할 때 완전한 일 나는 00:00 to 23:59
에 걸쳐있는 항목을 가진 날을 의미합니다. 내가 말할 때 계속 즉, 누락 된 날이 없어야 함을 의미합니다.
이 블록을 구성하는 모든 행을 연속 완료일 인으로 선택하고 싶습니다.
은 또한 같은 출력해야
block_start을 block_end 0 1,237,819, total_amount_for_block
2013년 2월 26일 0시 2014년 2월 26일 23시 59분 59초 1034234.5
이것은 나를 넘어서서 누군가가 해결할 수 있다면 ... 매우 인상 깊을 것입니다.
어떻게 기간이 시작합니까 – podiluska
islands''itzik 벤-의 GaN 격차를 검색해보세요? 하루 종일 시작하는이 시간은 항상 30 분입니까? 그럴 수 없다면 하루에 시작하여 다른 날에 끝낼 수 있습니까? –
완전한 날짜 - 하루에 30 분마다 기록 하시겠습니까? – Rodion