코딩 연습/SQL
[SQL] GROUP BY_동명 동물 수 찾기
썬2
2021. 3. 11. 09:42
programmers.co.kr/learn/courses/30/lessons/59041
코딩테스트 연습 - 동명 동물 수 찾기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
문제 해설:
SELECT NAME, COUNT(NAME) as count
FROM ANIMAL_INS
GROUP BY NAME
HAVING count>=2
ORDER BY NAME
포인트:
1. Select절에 Name 수를 Count한다.
2. GROUP BY로 Name을 그룹지은 뒤
3. 중복된 이름만 뽑는 것이니, GROUP BY-HAVING 절에 2이상인지 조건처리한다.
4. 이름 순으로 정렬한다.
* Where - GROUP BY - HAVING 순서?
칼럼 그룹화 후 조건 처리: GROUP BY-HAVING
조건 처리 후 칼럼 그룹화: WHERE-GROUP BY
조건 처리 후 칼럼 그룹화 후 조건 처리: Where-Group By-HAVING
느낀점:
이론적으로 GROUP BY와 HAVING이 짝이라고만 들었는데 실습으로 하니 더 와닿았다.
추가적으로 Where와 HAVING절의 차이도 알 수 있었다.