출처 : 프로그래머스 코딩테스트 연습, https://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
SQL인데 딱히 넣을데가 분류가 없더라...
더보기
첫 번째 풀이
SELECT NAME, count(*) as COUNT
FROM ANIMAL_INS
GROUP BY NAME HAVING COUNT(*) > 1
ORDER BY NAME;
값이 같은데 왜 안될까 봤더니
두 번째 풀이
SELECT NAME, count(NAME) as COUNT
FROM ANIMAL_INS
GROUP BY NAME HAVING COUNT(NAME) > 1
ORDER BY NAME;
COUNT 안에 *을 넣을 경우 빈 값까지 같이 계산한다.
문제에서 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.
라는 조건이 걸려있었기 떄문에 이름 없는 동물을 제외하기 위해 COUNT안에 NAME을 적어주어야한다.
고찰
계속 아무 생각없이 Where로 하려다가 에러나길래 뭐지 했는데
group by ~ having 조건이더라......바보......
'알고리즘 > SQL' 카테고리의 다른 글
[Oracle] 프로그래머스 - 'el'이 들어가는 동물 찾기 (0) | 2022.03.02 |
---|