이숭간 공부기록
[프로그래머스] SQL고득점킷 _ GROUP BY 본문
728x90
1.
-- 코드를 입력하세요
SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE ASC;
2.
-- 코드를 입력하세요
SELECT NAME, COUNT(*) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(*) >= 2 AND NAME IS NOT NULL
ORDER BY NAME;
3.
-- 코드를 입력하세요
SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
HAVING HOUR >= 9 AND HOUR <= 19
ORDER BY HOUR
4. 풀이 참고 _ 변수선언
- MySQL에서 SET을 통해 변수를 선언할 수 있다. SET쿼리문에서 '='은 특별하게 대입연산자로 사용된다.
- SET명령어가 아닌 쿼리문에서 '='는 비교연산자로 인식된다.
- SET이 아닌 쿼리문에서 대입연산자는 ':='를 사용한다.
- 0부터 23까지 디폴트로 증가시키는데 , 테이블에 있는 HOUR에 한해서만 총 레코드수를 집계해서 값을 넣는다.
-- 코드를 입력하세요
SET @HOUR_LIST = -1; -- 변수선언
SELECT (@HOUR_LIST := @HOUR_LIST+1) AS HOUR,
(SELECT COUNT(*)
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) = @HOUR_LIST) AS COUNT
FROM ANIMAL_OUTS
WHERE @HOUR_LIST < 23;
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] SQL고득점킷 _ IS NULL (0) | 2021.08.13 |
---|---|
[프로그래머스] SQL고득점킷 _ JOIN (0) | 2021.08.12 |
[프로그래머스] SQL고득점킷 _ SUM, MAX, MIN (0) | 2021.08.10 |
[프로그래머스] 파이썬 _ 디스크컨트롤러 (0) | 2021.08.10 |
[프로그래머스] SQL고득점킷 _ SELECT (0) | 2021.08.09 |