https://programmers.co.kr/learn/courses/30/lessons/59040
SELECT ANIMAL_TYPE,COUNT(*) as count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE;
https://programmers.co.kr/learn/courses/30/lessons/59041
SELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT>=2 ORDER BY NAME;
GROUP BY ~ HAVING
HAVING은 GROUP BY 뒤에 나오는 WHERE절 같은 조건절로 GROUP BY한 결과에 조건을 붙이고 싶을때 사용한다.
https://programmers.co.kr/learn/courses/30/lessons/59412
SELECT HOUR(DATETIME) HOUR, COUNT(DATETIME) COUNT FROM ANIMAL_OUTS GROUP BY HOUR(DATETIME) HAVING HOUR>=9 AND HOUR<=19 ORDER BY HOUR(DATETIME);
HOUR()는 시를 추출하는 함수이다.
이밖에도, 아래와 같은 함수들이 존재한다.
- YEAR : 연도 추출
- MONTH : 월 추출
- DAY : 일 추출 (DAYOFMONTH와 같은 함수)
- HOUR : 시 추출
- MINUTE : 분 추출
- SECOND : 초 추출
https://programmers.co.kr/learn/courses/30/lessons/59413
SET @hour:=-1;
SELECT (@hour :=@hour+1) HOUR,
(SELECT COUNT(*) COUNT FROM ANIMAL_OUTS WHERE HOUR(DATETIME)=@hour) COUNT
FROM ANIMAL_OUTS WHERE @hour<23;
SET 변수는 말그대로 어떤 변수에 특정 값을 할당하기 위한 사용자 정의 변수이고, :=은 비교 연산자 =과 혼동을 피하기 위한의 대입 연산이다.
SELECT (@hour := @hour +1) 과 WHERE @hour<23을 통해 @hour의 값에 1씩 증가시키면서 22까지 SELECT 문 전체를 실행하게 된다.
'Develop > SQL' 카테고리의 다른 글
[프로그래머스] SQL 고득점 키트 (MySQL) - String, Date (0) | 2021.09.15 |
---|---|
[프로그래머스] SQL 고득점 키트 (MySQL) - JOIN (0) | 2021.09.15 |
[프로그래머스] SQL 고득점 키트 (MySQL) - NOT NULL, CASE (0) | 2021.09.15 |
[프로그래머스] SQL 고득점 키트 (MySQL) - SUM,MAX,MIN (0) | 2021.09.14 |
[프로그래머스] SQL고득점 키트 (MySQL) - SELECT (0) | 2021.09.14 |
댓글