일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 개발자
- 정보처리기사
- SQL
- 백준
- select
- BufferedReader
- String클래스
- select문
- DML
- scanner
- JavaScript
- 예외처리
- 프로그래머스 SQL
- 스프링
- 프론트엔드
- 프로그래밍
- where
- 알고리즘
- mybatis
- 형변환
- 입출력
- Java
- 자바
- 리눅스
- MySQL
- 웹개발
- html
- 클래스
- 메서드
- github
- order by
- 정보처리기사필기요약
- 백엔드
- StringBuilder
- 프로그래머스 sql 고득점 kit
- Git
- 데이터 조회
- sql문
- 자바스크립트
- Linux
- Today
- Total
ToBe끝판왕
[ 프로그래머스 / SQL ] GROUP BY - 입양 시각 구하기(1) 본문
입양 시각 구하기(1)
Programmers의 SQL 고득점 Kit
GROUP BY 문제
▶ 해당 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/59412
정답 및 풀이
▶ GROUP BY 절
• 데이터들을 원하는 그룹으로 나눌 수 있다.
• 나누고자 하는 그룹의 칼럼명을 SELECT절과 GROPU BY절 뒤에 추가하면 된다.
• FROM절과 WHERE절 뒤에 온다.
• 집계함수와 함께 사용되는 상수는 GROUP BY절에 추가하지 않아도 된다.
• GROUP BY 절
SELECT 컬럼명, 그룹함수
FROM 테이블명
GROUP BY 그룹대상;
▶ HAVING 절
• GROUP BY 절을 통해 그룹을 짓고, 각 그룹에 조건을 부여할 때 사용한다.
• GROUP BY 절 다음에 위치한다.
• HAVING 절
SELECT 컬렴명, 그룹함수
FROM 테이블명
GROUP BY 그룹대상
HAVING 그룹함수 포함 조건;
※ WHERE 절과 HAVING 절 차이
• WHERE 절은 모든 개별 행에 조건을 줄 수 있다 하지만 HAVING 절은 GROUP BY 된 이후 특정한 그룹의
행에만 조건을 줄 수 있다.
• 집계함수는 HAVING절과 함께 사용할 수 있지만 WHERE 절은 HAVE절에 포함된 하위 쿼리에 있지 않으면
집계함수랑 함께 사용할 수 없다.
• HAVING절은 GROUP BY 절 뒤에 사용하고 WHERE 절은 앞에 사용한다
※ 집계함수
▶ HOUR 함수
해당 시간을 알려주는 시간 관련 함수이다.
SELECT HOUR( 시간 );
▶ 정답
• 우리는 각 시간대별 입양이 얼마나 활발한지 알아봐야 하기 때문에, DATETIME을 시간으로 바꾸기 위해서
HOUR 함수를 사용한다.
• 09:00 ~ 19:59까지 출력하기 위해, WHERE 조건절을 사용한다. ( WHERE절에는 AS HOUR 가 사용 안됨 )
• 시간대별 입양 횟수 이기 때문에, 각 시간을 그룹화한다.
• 시간 대순으로 정렬하기 때문에 ORDER BY를 사용한다.
SELECT HOUR( DATETIME ) AS HOUR, COUNT( DATETIME ) AS COUNT
FROM ANIMAL_OUTS
WHERE HOUR( DATETIME ) >= 9 AND HOUR( DATETIME ) <= 19
GROUP BY HOUR
ORDER BY HOUR;
'■ 프로그래밍 SKILLS > SQL' 카테고리의 다른 글
[ 프로그래머스 / SQL ] JOIN - 없어진 기록 찾기 (0) | 2022.06.12 |
---|---|
[ 프로그래머스 / SQL ] GROUP BY - 입양 시각 구하기(2) (0) | 2022.06.11 |
[ 프로그래머스 / SQL ] GROUP BY - 동명 동물 수 찾기 (0) | 2022.06.11 |
[ 프로그래머스 / SQL ] GROUP BY - 고양이와 개는 몇마리 있을까 (0) | 2022.06.11 |
[ 프로그래머스 / SQL ] SUM, MAX, MIN - 중복 제거하기 (0) | 2022.06.10 |