-
프로그래머스 - 동명 동물 수 찾기 [MySQL]문제 풀이/프로그래머스 2023. 6. 21. 23:55반응형
이 문제는 group by 를 사용하는 간단한 문제이다. 나는 이 문제를 밑의 방식으로 풀었다.
SELECT NAME, CNT FROM (SELECT NAME, COUNT(*) AS CNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME) AS TEMP WHERE CNT >= 2 ORDER BY NAME ASC;
그러나 다른 사람들의 풀이에는 having 절이 포함되어 서브쿼리를 사용하지 않았다. 서브쿼리를 사용한 이유는 where 절에서 cnt 를 인식하지 못해서였는데, having 절은 group by 이후의 상태에서 조건을 붙이는 절이라는 사실이 생각났다. 그리하여 다음과 같은 코드로 바꿀 수 있었다.
SELECT NAME, COUNT(*) AS CNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME HAVING CNT >= 2 ORDER BY NAME;
반응형'문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 [MySQL] (0) 2023.06.23 프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 [MySQL] (0) 2023.06.23 프로그래머스 - 저자 별 카테고리 별 매출액 집계하기 [MySQL] (0) 2023.06.21 프로그래머스 - 그룹별 조건에 맞는 식당 목록 출력하기 [MySQL] (0) 2023.06.21 프로그래머스 - 등굣길 (0) 2023.03.18