SQL 질문과 답변 게시판
오전10 - 오후10시 : 구간1시간
오후10시 - 오전10시 : 구간2시간
9월1일 오전 1시에서 9월7일 오후 5시까지의 구간1시간과 구간2시간을 구하는 방법을 알고 싶습니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
루프문으로 돌리면서 체크를 하는 것은 할 수 있는데요..
이방법 말고 간단한고 명쾌하게 구할 수 있는 방법이 있을까요?
물론 속도도 나오고요..
일반 pc에서 초당 150-300번정도 돌리니까요.. 루프를 많이 돌리는 것은 안좋은것 같아서요..
시간들의 갯수를 구하기를 원하시는지 시간은 datetime인지 다른 형식인지
날짜별로도 구해야하는지 등 테스트 데이터와 함께 질문하시면 간단하고 명쾌하게 답을 얻으실 수 있으실 꺼에요.. ^^
일단 제 임의로 해당 기간동안 각 구간시간동안의 횟수만 구하는 것이라면
SELECT SUM(CASE WHEN CONVERT(VARCHAR(2), issue_time, 108) >= '10' AND CONVERT(VARCHAR(2), issue_time, 108) <= '21' THEN 1 ELSE 0 END) AS 구간1 , SUM(CASE WHEN CONVERT(VARCHAR(2), issue_time, 108) < '10' OR CONVERT(VARCHAR(2), issue_time, 108) > '21' THEN 1 ELSE 0 END) AS 구간2 FROM tblTest WHERE issue_time >=
'2010-09-01 01:00' AND
issue_time < '2010-09-07
18:00' 이 방법이 좋을 것 같습니다. 맞다면 다음부터는 자세한 질문 부탁 드릴께요~ 틀리다면 지금부터 자세한 질문 올려 주세요~ ㅎㅎ


음 ... 무슨 말씀이신지 이해가 잘안가네요... 예제로 설명 해주시면 ^^