반응형
programmers.co.kr/learn/courses/30/parts/17044
SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE
SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME
Having절은 Group by로 집계된 값 중 where절 처럼 특정 조건을 추가한다.
SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <= 19
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME)
SET @h := -1;
SELECT (@h := @h + 1) AS HOUR,
(
SELECT COUNT(*)
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) = @h
) AS COUNT
FROM ANIMAL_OUTS
WHERE @h < 23
SET문으로 변수 @h를 초기화하여 WHERE문으로 0~23까지 루프를 돌도록 코딩하였다.
반응형
'💾Database > 🐬MySQL' 카테고리의 다른 글
[프로그래머스 SQL 고득점 kit] - String, Date 문제 풀이 (0) | 2021.03.05 |
---|---|
[프로그래머스 SQL 고득점 kit] - JOIN 문제 풀이 (0) | 2021.03.04 |
[프로그래머스 SQL 고득점 kit] - IS NULL 문제 풀이 (0) | 2021.03.03 |
[프로그래머스 SQL 고득점 kit] - SUM, MAX, MIN 문제 풀이 (0) | 2021.03.01 |
[프로그래머스 SQL 고득점 kit] - SELECT 문제 풀이 (0) | 2021.02.28 |