프로그래머스 GROUP BY 4문제를 한 포스팅에 정리합니다.
1. 고양이와 개는 몇 마리 있을까
- GROUP BY로 ANIMAL_TYPE을 묶어주고, ORDER BY로 정렬합니다.
SELECT ANIMAL_TYPE, COUNT(*) as count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE;
2. 동명 동물 수 찾기
- GROUP BY로 NAME을 묶어주고, HAVING COUNT(NAME)>=2로 조건을 추가합니다.
SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) >= 2 ORDER BY NAME;
3. 입양 시각 구하기(1)
- HOUR(DATETIME) AS HOUR로 HOUR를 나타냅니다
-. COUNT(HOUR(DATETIME)) AS COUNT로 COUNT를 나타냅니다.
- GROUP BY HOUR(DATETIME)으로 묶어줍니다.
- HAVING HOUR >=9 AND HOUR <=19으로 조건을 추가합니다.
SELECT HOUR(DATETIME) AS HOUR, COUNT(HOUR(DATETIME)) AS COUNT FROM ANIMAL_OUTS GROUP BY HOUR(DATETIME) HAVING HOUR >= 9 AND HOUR <=19 ORDER BY HOUR;
4. 입양 시각 구하기(2)
SET @hour := -1;
SELECT (@hour := @hour + 1) as HOUR,
(SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @hour) as COUNT
FROM ANIMAL_OUTS
WHERE @hour < 23;
'SQL' 카테고리의 다른 글
SQL 기본 문법 정리(5) (GROUP BY, HAVING, 서브쿼리) (1) | 2022.04.17 |
---|---|
SQL 기본 문법 정리(4) (COUNT, DISTINCT, SUM, AVG, MIN, MAX) (0) | 2022.04.14 |
SQL 기본 문법 정리(3) (INSERT, DELETE, UPDATE) (0) | 2022.04.14 |
SQL 기본 문법 정리(2) (ORDER BY, LIMIT, 문자열 연산, 날짜 연산, CASE문) (2) | 2022.04.13 |
SQL 기본 문법 정리(1) (SELECT, DESC, AND, OR, LIKE) (1) | 2022.04.12 |