GROUP BY는 데이터를 그룹화하여 처리할 수 있는가를 확인하는 문제들입니다.
레벨 4인 마지막 문제를 제외하곤 레벨 2로 측정되어 있고, 출제 빈도와 평균 점수는 보통이라고 합니다.
마지막 문제의 경우 변수 사용법을 알아두면 빠른 시간 내에 짧은 코드로 문제를 해결할 수 있습니다.
https://programmers.co.kr/learn/courses/30/parts/17044
고양이와 개는 몇 마리 있을까
SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
동명 동물 수 찾기
SELECT NAME, COUNT(*)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME
입양 시각 구하기(1)
SELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9
AND HOUR(DATETIME) <= 19
GROUP BY HOUR
입양 시각 구하기(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
'=' 연산자는 SET절에서는 대입 연산자로 해석되지만 나머지 경우 비교 연산자로 해석됩니다.
그에 반해, ':=' 연산자는 항상 대입 연산자로 해석됩니다.
'알고리즘 > programmers' 카테고리의 다른 글
[프로그래머스 SQL] String, Date 문제 풀이 (0) | 2020.01.19 |
---|---|
[프로그래머스 SQL] JOIN 문제 풀이 (0) | 2020.01.19 |
[프로그래머스 SQL] IS NULL 문제 풀이 (0) | 2020.01.19 |
[프로그래머스 SQL] SUM, MAX, MIN 문제 풀이 (0) | 2020.01.19 |
[프로그래머스 SQL] SELECT 문제 풀이 (0) | 2020.01.19 |
댓글