programming language/Algorithm

[SQL GROUP BY] 프로그래머스 고양이와 개는 몇 마리 있을까, 동명 동물 수 찾기, 입양 시각 구하기

jellylucy 2022. 3. 17. 21:56

 

 

코딩테스트 연습 - 고양이와 개는 몇 마리 있을까

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

select ANIMAL_TYPE, COUNT(ANIMAL_TYPE) from ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE

등장하는 개념

  • GROUP BY, COUNT

 

 

코딩테스트 연습 - 동명 동물 수 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

등장하는 개념

  • GROUP BY, COUNT, HAVING
select NAME, COUNT(NAME) COUNT from ANIMAL_INS group by NAME HAVING COUNT>=2 order by NAME

 

 

코딩테스트 연습 - 입양 시각 구하기(1)

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물

programmers.co.kr

등장하는 개념

  • GROUP BY, COUNT, HAVING, HOUR(DATETIME)
  • 쿼리문 실행 순서 : HAVING은 GROUP BY 이후에 실행된다 /  ORDER BY는 마지막.

SELECT - 5순위 (필수)

FROM - 1순위 (필수)

WHERE - 2순위

GROUP BY - 3순위

HAVING - 4순위

ORDER BY - 6순위

select HOUR(DATETIME) HOUR, COUNT(HOUR(DATETIME)) COUNT from ANIMAL_OUTS group by HOUR HAVING HOUR >= 9 and HOUR <= 19 order by HOUR