일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정수와유리수
- 자바 실습
- numpy/pandas
- 자바
- 정보처리기사필기
- C++
- 파이썬
- html/css
- pandas
- 중학1-1
- 데이터분석
- CNN
- 컴퓨터구조
- 영어공부
- 파이썬라이브러리
- 딥러닝
- SQL
- 중학수학
- 코딩테스트
- 텍스트마이닝
- 컴퓨터비전
- 정보처리기사실기
- 머신러닝
- 데이터입출력구현
- 데이터베이스
- 연습문제
- 운영체제
- JSP/Servlet
- 혼공머신
- CSS
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
그룹 함수와 윈도우 함수 3 - 윈도우 함수 3 : 그룹 내 행 순서 함수 본문
이어서 윈도우 함수 학습을 진행해 보겠다. 이번 강의는 분량이 좀 더 많다.
이론 4 - 윈도우 함수 : 그룹 내 행 순서 함수
FIRST_VALUE 값을 좀 더 자세히 살펴보자. DEPARTMENT_ID가 1인 데이터와 2인 데이터로 나누어진다. BETWEEN A AND B는 A와 B를 포함하는 범위를 말한다.
여기서 UNBOUNDED PRECEDING은 윈도우의 시작 점이 가장 첫 번째 행이고, UNBOUNDED FOLLWING은 윈도우의 마지막 지점이 가장 마지막 행이다. 즉 DEPARTMENT_ID가 1인 네 가지 값에서 첫 번째 값은 1500이므로 DEPARTMENT_MIN_SALARY의 값은 1500이 되고, 마지막 값은 10000이므로 DEPARTMENT_MAX_SALARY의 값은 10000이 된다.
앞 또는 뒤에 X번째 행의 값을 가져오는 함수이다. 본인 데이터의 앞이나 뒤에 데이터를 가져올 때 이 함수를 사용한다.
실습 3 - 윈도우 함수 : 그룹 내 행 순서 함수
1. 테이블 조회하기
이렇게 기록이 조회된다. 여기서 각 그룹에 대해 참가자의 앞, 뒤 기록과 그룹 내 가장 빠른 기록, 가장 느린 기록을 구하려고 한다. 해당 값들을 구하기 위해 그룹 내 행 순서 함수를 이용하면 된다.
2. 각 그룹별로 나누어 참가자의 앞, 뒤 기록과 그룹 내에서 가장 빠른 기록, 가장 느린 기록을 조회하기
LEAD와 LAG 함수를 활용해서 앞사람과 뒷사람의 기록을 출력해 보았다. 이번에는 FIRST_VALUE와 LAST_VALUE를 활용해서 그룹 내에서 가장 빠른 기록과 느린 기록을 조회해 보겠다.
3. FIRST_VALUE, LAST_VALUE를 활용하여 가장 빠른 기록과 가장 느린 기록을 조회하기
ROWS라는 개념으로 행들에 대한 집합을 담아준다.
하지만 뭔가 오류가 떴다. 아마도 별칭을 지정하지 않았기 때문에 오류가 뜨는 것 같다.
4. 오류 수정해 보기
퀴즈 3 - 윈도우 함수 : 그룹 내 행 순서 함수
학습을 마치고
윈도우 함수는 솔직히 많이 어렵기도 하고 지금은 공부해도 어차피 다 잊어버릴 것 같아 그냥 가벼운 마음으로 공부하기로 했다. 정말 이해가 안 되는 코드가 많지만 그냥 넘어가고 다음에 SQLD 시험을 볼 때 이 부분을 다시 공부해보려고 한다.
그때는 많은 걸 이해할 수 있을 것 같다. 지금은 SQL이 많이 설익어서 어려움이 있다.
'알고리즘 및 자료 관리 > SQL' 카테고리의 다른 글
그룹 함수와 윈도우 함수 5 - 윈도우 함수 4 : 그룹 내 비율 함수 2 <실습 문제 및 퀴즈 문제 풀기> (0) | 2024.10.24 |
---|---|
그룹 함수와 윈도우 함수 4 - 윈도우 함수 4 : 그룹 내 비율 함수 1 <이론 학습 및 실습 문제 풀기> (0) | 2024.10.24 |
그룹 함수와 윈도우 함수 2 - 윈도우 함수 2 : 일반 집계 함수 (0) | 2024.10.24 |
그룹 함수와 윈도우 함수 1 - 데이터 분석을 위한 함수 + 윈도우 함수 1 : 순위 함수 (0) | 2024.10.24 |
서브쿼리 심화 8 - 미션 문제 풀기 및 단원 마무리하기 (0) | 2024.10.24 |