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절의 차이도 알 수 있었다.
'코딩 연습 > SQL' 카테고리의 다른 글
[SQL] ISNULL_이름이 없는 동물의 ID (0) | 2021.03.12 |
---|---|
[SQL] GROUP_BY 입양시각 구하기(1) (0) | 2021.03.11 |
[SQL] GROUP BY_고양이와 개는 몇 마리 있을까 (0) | 2021.03.11 |
[SQL] SUM, MAX, MIN_중복 제거하기 (0) | 2021.03.04 |
[SQL] SUM, MAX, MIN_동물 수 구하기 (0) | 2021.03.04 |