프로그래머스 SQL 고득전 kit를 풀어보고 정리한 내용입니다.
맞춘 정답과 틀린 경우 생각해내지 못한 문법 위주로 작성하였습니다.
정리 내용 출처는 아래를 참고해 주세요.
Lv.2 동명 동물 수 찾기
작성 답안
NAME을 기준으로 그룹으로 만들고, 거기에 조건을 주기 위해 HAVING을 사용하였다.
SELECT NAME, COUNT(*) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(*) >= 2
ORDER BY NAME;
추가 답안
COUNT(*)으로 작성하면 NAME이 NULL인 row도 포함 하지만 COUNT(NAME)으로 작성하면 NAME이 null인 row는 미포함한다.
즉, 위에서처럼 *을 이용하면 NULL을 포함하므로 반드시 IS NOT NULL 조건이 포함되어야 하지만, COUNT(NAME)을 이용하면 해당 조건은 생략되어도 괜찮다.
SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME;
'SQL' 카테고리의 다른 글
[SQL] 프로그래머스 고득점 kit - String, Date / 이름에 el이 들어가는 동물 찾기 (0) | 2024.03.08 |
---|---|
[SQL] 프로그래머스 고득점 kit - SUM, MAX, MIN / 가장 비싼 상품 구하기 (0) | 2024.03.08 |
[SQL] 프로그래머스 고득점 kit - SELECT / 강원도에 위치한 생산공장 목록 출력하기 (0) | 2024.03.07 |
[SQL] 프로그래머스 고득점 kit - IS NULL / 나이 정보가 없는 회원 수 구하기 (0) | 2024.03.07 |
[SQL] 프로그래머스 고득점 kit - SELECT / 어린 동물 찾기 (0) | 2024.03.07 |