Q&A

  • Query문으로 매일 특정시간대별 통계치 검색
안녕하세요.

도무지 저의 생각으로는 문제를 풀수가 없어 질문을 드립니다.

우선 TABLE에 있는 중요한 DATA형식은 아래와 같습니다.



1) 날짜 (datetime) ex) 2001-03-01 09:10:15

2) 회원번호 (varchar2) ex) 20001025

....



제가 이 TABLE에서 뽑고자하는 통계치는 월별로 특정시간대(오전,오후 or 입력값)

회원들의 분포입니다. 결과를 예를 들어



일 자 시간 회원수

========= ====== =====

2001-03-01 오전 500

2001-03-01 오후 380

2001-03-02 오전 450

2001-03-02 오후 350

....

제가 알고 싶은것은 어떻게 특정 시간대별로 Grouping하여 뽑아내냐는 것입니다.

꼭 위와 같이 원하는 시간대별로 구분을 하여야 의미가 있는 업무랍니다.

답변을 주시면 감사하겠습니다.



2  COMMENTS
  • Profile
    송종석 2001.04.13 00:45
    DBMS가 Oracle인 것 같군요. TO_CHAR()함수와 TRUNC()함수를 사용하면 됩니다.



    예문// 2000년 12월중 일자 및 시간대별 접속수 통계 - 시간구분: 오전(0)/오후(1)



    Select TO_CHAR(LogDate,'RRRR/MM/DD') As 일자,

    TRUNC(TO_CHAR(LogDate,'HH24')/12) As 시간구분, Count(*) As 접속수

    From TableName

    Where TO_CHAR(LogDate,'RRRR') = 2000 And TO_CHAR(LogDate,'MM') = 12

    Group By TO_CHAR(LogDate,'RRRR/MM/DD'), TRUNC(TO_CHAR(LogDate,'HH24')/12)

    Order By TO_CHAR(LogDate,'RRRR/MM/DD'), TRUNC(TO_CHAR(LogDate,'HH24')/12)



    주의:

    1.TO_CHAR()함수값이 문자형으로 될 경우 다시 숫자형으로 바꾸어 주시면 됩니다.(연산부분)

    2.시간대별 접속자수를 알고 싶으신 경우 TRUNC()함수 및 연산(/12)을 쓰지 않으면 됩니다.



    남대현 wrote:

    > 안녕하세요.

    > 도무지 저의 생각으로는 문제를 풀수가 없어 질문을 드립니다.

    > 우선 TABLE에 있는 중요한 DATA형식은 아래와 같습니다.

    >

    > 1) 날짜 (datetime) ex) 2001-03-01 09:10:15

    > 2) 회원번호 (varchar2) ex) 20001025

    > ....

    >

    > 제가 이 TABLE에서 뽑고자하는 통계치는 월별로 특정시간대(오전,오후 or 입력값)

    > 회원들의 분포입니다. 결과를 예를 들어

    >

    > 일 자 시간 회원수

    > ========= ====== =====

    > 2001-03-01 오전 500

    > 2001-03-01 오후 380

    > 2001-03-02 오전 450

    > 2001-03-02 오후 350

    > ....

    > 제가 알고 싶은것은 어떻게 특정 시간대별로 Grouping하여 뽑아내냐는 것입니다.

    > 꼭 위와 같이 원하는 시간대별로 구분을 하여야 의미가 있는 업무랍니다.

    > 답변을 주시면 감사하겠습니다.



  • Profile
    류종택 2001.04.12 23:48
    쉽게 필드 하나를 더 생성하시지요.



    날짜 시간대 회원수 이렇게요



    그리고

    Select 날짜, 시간대, Count(*) From 테이블

    Group By 날짜, 시간대



    따라서 날짜를 입력할 때 시간대라는 필드에 오후 또는 오전으로 같이

    입력만해주도록 하면 되겠지요.





    꿈꾸는 바보 류..



    남대현 wrote:

    > 안녕하세요.

    > 도무지 저의 생각으로는 문제를 풀수가 없어 질문을 드립니다.

    > 우선 TABLE에 있는 중요한 DATA형식은 아래와 같습니다.

    >

    > 1) 날짜 (datetime) ex) 2001-03-01 09:10:15

    > 2) 회원번호 (varchar2) ex) 20001025

    > ....

    >

    > 제가 이 TABLE에서 뽑고자하는 통계치는 월별로 특정시간대(오전,오후 or 입력값)

    > 회원들의 분포입니다. 결과를 예를 들어

    >

    > 일 자 시간 회원수

    > ========= ====== =====

    > 2001-03-01 오전 500

    > 2001-03-01 오후 380

    > 2001-03-02 오전 450

    > 2001-03-02 오후 350

    > ....

    > 제가 알고 싶은것은 어떻게 특정 시간대별로 Grouping하여 뽑아내냐는 것입니다.

    > 꼭 위와 같이 원하는 시간대별로 구분을 하여야 의미가 있는 업무랍니다.

    > 답변을 주시면 감사하겠습니다.

    >