프로그래머스 SQL 코딩테스트 연습에 올라온 예제 문제.
Group by를 사용하는 예제이다.
1. 동명 동물 수 찾기
동물 보호소에 들어온 동물의 정보를 담은 ANIMAL_INS 테이블이 있는데,
이때 동물 보호소에 들어온 동물 이름 중 두 번 이상(i > 1) 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해야 하는 문제이다.
먼저 SELECT문을 통해 NAME과 COUNT 함수를 테이블로부터 함께 조회해주고, group by로 이름끼리 묶어준다.
문제에서 같은 이름이 두 번 이상 쓰인 경우 카운터하라고 했기 때문에 HAVING문을 활용해서 조건을 넣어준다.
그 다음 이름순으로 정렬해주면 끝!
2. 입양 시각 구하기 (1)
보호소에서 입양 보낸 횟수를 알아보기 위해 오전 9시부터 오후 7시 59분까지의 입양 횟수를 카운터해야 하는 문제이다.
시간대별로 몇 건이 발생했는지를 나타내야 한다.
문제 풀이에서 SUBSTR함수를 사용하여 필요한 HOUR만 잘라서 사용했는데, SQL은 HOUR 함수가 있기 때문에 이 함수를 사용하는 게 가장 간결하고 베스트이다.
그냥 이런 방법도 있다 하는 마음으로 사용했다.
HAVING문을 활용하여 조건에 명시된 시간대를 설정해주고, GROUP BY, ORDER BY를 작성해주면 끝!
'Data > SQL' 카테고리의 다른 글
[HackerRank] Occupations, The PADS. 문제 풀이 (MySQL) (0) | 2023.02.06 |
---|---|
[SQLZOO] JOIN 문제 풀이 (0) | 2023.02.01 |
[프로그래머스] SQL Kit 문제 풀이(2) (0) | 2023.01.29 |
[프로그래머스] SQL Kit 문제 풀이(1) (1) | 2023.01.28 |
[프로그래머스] JOIN, 있었는데요 없었습니다 (0) | 2022.01.09 |