본문 바로가기
SQL/문제풀이

프로그래머스 중복 제거하기 풀이(MySQL)

by wakestand 2019. 9. 9.
반응형

사이트명 : 프로그래머스(Programmers)

문제명 : 중복 제거하기

SQL : MySQL

 

ANIMAL_INS 테이블의 NAME 컬럼에서

값이 NULL이 아닌 행들을 NAME별로 묶은 후 COUNT 시켜 총 몇갠지 반환하라는 얘긴데

 

내 풀이방법은 아래와 같다

 

일단 서브쿼리를 사용하는데

NAME이 NULL이 아니고 NAME별로 GROUP을 해준 후 ANIMAL_INS 테이블의 NAME들만 조회하는데

이후 밖에서는 이 행들의 갯수만 COUNT(*)로 세주면 바로 끝이 난다

 

서브쿼리를 사용할 때 반드시 서브쿼리의 이름을 정해줘야 에러가 발생하지 않는다

 

프로그래머스에 바로 적용 가능한 코드는 아래와 같다

 

SELECT COUNT(*)
FROM
    (
    SELECT NAME
    FROM ANIMAL_INS
    WHERE NAME IS NOT NULL
    GROUP BY NAME
    ) SQ1
반응형

댓글