-
코딩테스트 연습> GROUP BY> 동명 동물 수 찾기SQL/Programmers 2020. 10. 3. 16:13728x90
<문제링크: programmers.co.kr/learn/courses/30/lessons/59041>
문제설명: 'ANIMAL_INS' 테이블의 NAME별로 NAME과 COUNT를 출력한 것 중
COUNT가 2이상인 동물 이름들을 이름 순으로 출력하는 문제이다.
[1차 시도]
SELECT NAME, COUNT FROM ( SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME )SQ1 WHERE COUNT>=2 ORDER BY NAME;
풀이: 첫 줄의 SELECT문은 조회하고자 하는 정보를 뜻하는데
문제에서 동물 이름별 쓰인 횟수를 묻고 있으므로
NAME컬럼과 COUNT를 출력한다.
이 COUNT를 구하기 위해 서브쿼리를 사용한다.
서브쿼리에서 ANIMAL_INS테이블의 NAME과 COUNT(NAME)으로 이름의 횟수를 조회하고,
이를 GROUP BY NAME으로 NAME별 조회를 한다.
해당 서브쿼리는 SQ1이라는 별칭을 붙여준다.
조회 가능한 모든 NAME과 COUNT 중 COUNT가 2이상인 것을 조회하기 위해
WHERE COUNT>=2 조건문을 사용하고,
마지막으로 ORDER BY NAME으로 NAME의 오름차순으로 출력한다.
채첨결과: 정상적으로 잘 통과한다.
'SQL > Programmers' 카테고리의 다른 글
코딩테스트 연습> JOIN> 있었는데요 없었습니다 (0) 2021.03.10 코딩테스트 연습> SELECT> 아픈 동물 찾기 (0) 2020.09.30 코딩테스트 연습> JOIN> 없어진 기록 찾기 (0) 2020.09.28 코딩테스트 연습> GROUP BY> 고양이와 개는 몇 마리 있을까 (0) 2020.08.27 코딩테스트 연습> SUM, MAX, MIN> 최댓값 구하기 (0) 2020.08.11