-
코딩테스트 연습> GROUP BY> 고양이와 개는 몇 마리 있을까SQL/Programmers 2020. 8. 27. 09:47728x90
<문제링크: https://programmers.co.kr/learn/courses/30/lessons/59040>
문제설명: 'ANIMAL_INS' 테이블의 ANIMAL_TYPE 중 CAT과 DOG의 개수가 각각 몇 마리인지 count 하는 문제이다. 이때 고양이를 개보다 먼저 조회하라고 했으므로 맨 마지막에 ORDER BY를 쓰면 된다.
[1차 시도]
SELECT ANIMAL_TYPE, COUNT(*) AS 'count' FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE;
풀이: 첫 줄의 SELECT문은 조회하고자 하는 정보를 뜻하는데 문제에서 동물 종류별로 각각 몇 마리인지를 묻고 있으므로
ANIMAL_TYPE컬럼과 count함수를 사용해 개수를 세어준다.
(count(*) 혹은 count(ANIMAL_TYPE) 둘 중 하나를 써도 무방하다)
이때 SELECT ____ AS _____ 라는 표현을 사용하면 조회하고자 하는 컬럼명을 변경하여 출력할 수 있으므로 문제와 같이 'count'로 이름지어 SELECT한다.
그 다음 FROM _____ 는 FROM 뒤에 테이블 이름(ANIMAL_INS)을 지정하면, 해당 테이블에서 조회하겠다는 의미다.
종류별 개수를 세어 출력해야하므로 GROUP BY를 사용해 필드를 ANIMAL_TYPE 별로 묶어주고,
CAT 다음에 DOG가 와야하므로 ORDER BY를 사용해 ANIMAL_TYPE의 알파벳 오름차순으로 정렬해준다.
컬럼명 뒤에 아무것도 붙이지 않으면 default는 ASC이다.
채첨결과: 정상적으로 잘 통과한다.
'SQL > Programmers' 카테고리의 다른 글
코딩테스트 연습> SELECT> 아픈 동물 찾기 (0) 2020.09.30 코딩테스트 연습> JOIN> 없어진 기록 찾기 (0) 2020.09.28 코딩테스트 연습> SUM, MAX, MIN> 최댓값 구하기 (0) 2020.08.11 코딩테스트 연습> SELECT> 역순 정렬하기 (0) 2020.08.10 코딩테스트 연습> SELECT> 모든 레코드 조회하기 (0) 2020.08.09