SQLSERVER 2012 :SQL 시간별 데이터 계산
SQL 쿼리는 시간이 0-23에 시작하는 24 시간 데이터를 반환합니다. 검색어는 예를 들어 '1-1-2014'및 1-2-2014 '와 같이 기간을 선택하면 보고서에서 오전 9 시부 터 다음 날 오전 8 시까 지 데이터를 가져와야합니다.
검색어는 우리가 선택한 기간을 계산해야하지만, 오전 9 시부 터 다음 날/오전/오전 8 시까 지 선택해야합니다. 내가 가진
테이블 구조/열은 DB에 있습니다 ReadingDate 시간 : 0-23 데이터 1 데이터 2 데이터 3
출력 내가 하나를 가져올 수 있어요
Date | Hours| Data 1| Data 2| Data 3
sSelect = "Select P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3 FROM Operations P WHERE P.ReadingDate = '" & startdate & "' AND P.Hour Between 9 AND 23 Group by P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3
Union
Select P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3 FROM Operations P WHERE P.ReadingDate = '" & Enddate & " ' AND P.Hour Between 0 And 8 group by P.ReadingDate,P.Hour,P.Data1,P.Data2,P.Data3 "
2015-1-15 12:00 AM| 9| 1900|2000|300
2015-1-15 12:00 AM| 10|
2015-1-15 12:00 AM| 11|
2015-1-15 12:00 AM| 12|
2015-1-15 12:00 AM| 13|
2015-1-15 12:00 AM| 14|
2015-1-15 12:00 AM| 15|
2015-1-15 12:00 AM| 16|
2015-1-15 12:00 AM| 17|
2015-1-15 12:00 AM| 18|
2015-1-15 12:00 AM| 19|
2015-1-15 12:00 AM| 20|
2015-1-15 12:00 AM| 21|
2015-1-15 12:00 AM| 22|
2015-1-15 12:00 AM| 23|
2015-1-16 12:00 AM| 0|
2015-1-16 12:00 AM| 1|
2015-1-16 12:00 AM| 2|
2015-1-16 12:00 AM| 3|
2015-1-16 12:00 AM| 4|
2015-1-16 12:00 AM| 5|
2015-1-16 12:00 AM| 6|
2015-1-16 12:00 AM| 7|
2015-1-16 12:00 AM| 8|
'1-1-2015'및 '1-2-2015'기간의 데이터를 '12 월 1 일 ~2014 월 '에서 12 월 31 일 ~2014 일 사이에 선택하면 해당 데이터가 제공되지 않습니다. 전체 데이터 및 그것은 다시 날 1 일 데이터를 가져옵니다.
를? (날짜/시간/간격 처리가 ANSI SQL 표준에 따라 너무 자주 수행되지는 않습니다.) – jarlh