SQL 테스트 - group by

업데이트:

문제

| NAME | TYPE | NULLABLE | |——————|————|———-| | ANIMAL_ID | VARCHAR(N) | FALSE | | ANIMAL_TYPE | VARCHAR(N) | FALSE | | DATETIME | DATETIME | FALSE | | NAME | VARCHAR(N) | TRUE | | SEX_UPON_OUTCOME | VARCHAR(N) | FALSE |

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

출력

| HOUR | COUNT | |——|——-| | 9 | 1 | | 10 | 2 | | 11 | 13 | | 12 | 10 | | 13 | 14 | | 14 | 9 | | 15 | 7 | | 16 | 10 | | 17 | 12 | | 18 | 16 | | 19 | 2 |

문제풀이

해당 문제는 hour 를 통해 시간을 알아내고 그 시간으로 정렬을하고 그룹화를하여 해당 시간에 몇건의 입양이 있었는지 9시부터 19시까지의 조건이 필요한 문제였다.

코드

SELECT  hour(datetime) hour,count(*)
from animal_outs
group by hour
having hour>=9 and hour<=19
order by hour asc

댓글남기기