Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 이산형
- 포아송분포
- 피어슨상관계수
- 표본공간
- 행사다리꼴
- 모평균
- 모수
- 통계학입문
- 이변량자료
- 이항분포
- 범주형자료
- 수치형자료
- 조건부확률
- 연속확률변수
- 균일분포
- 확률밀도함수
- 수학적확률
- 기댓값과 분산
- 이산확률질량함수
- 기본행연산
- pmf
- 첨가행렬
- 표본평균
- 사조사
- 베르누이분포
- 절삭평균
- 누적분포함수
- 통계학개론
- Anaconda
- jupyter notebook
Archives
- Today
- Total
Syeonny의 블로그
[SQL] 고급 함수 본문
MySQL기준
WINDOW FUNCTION
행 간의 비교 및 순위, 누적합 등등을 계산할 때 사용함
함수 OVER (PARTITON BY / ORDER BY) 와 함께 사용됨
- ROW_NUMBER() 그룹 내 순번
- RANK() 동일 순위 허용, 순위 건너뜀 1 1 3
- DENSE_RANK() 동일 순위 허용, 순위 건너뛰지 않음 1 1 2
- LAG(col, n) 현재 행 기준 n행 전의 값 반환
- LEAD(col, n) 현재 행 기준 n행 후의 값 반환
- SUM(col) OVER() 누적합 계산
주문 테이블에서 유저 아이디 별 최근 주문 내역을 조회
SELECT user_id, order_id,
ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY order_date DESC) AS rn
FROM orders;
CASE WHEN
조건에 따라 값을 처리함 (PYTHON 의 IF 기능)
학생 테이블에서 점수가 90인 학생 A 80인 학생 B 나머지 C 인 새로운 열을 만들어서 학생의 이름과 같이 출력
SELECT NAME.
CASE
WHEN SCORE>=90 THEN 'A'
WHEN SCORE>=80 THEN 'B'
ELSE 'C'
END AS GRADE
FROM STUDENTS;
NULL
값이 없음, 비교 연산자로 비교 불가능함
IS NULL 값이 없음
IS NOT NULL 값이 있음
IFNULL(col, 대체 값) col이 NULL이면 대체 값 사용
COALESE(col1, col2, ,,, 기본 값) NULL이 아닌 첫 번째 값 반환
col이 NULL값을 가지면 0으로 대체
SELECT IFNULL(col, 0)
여러 후보 중 첫 NULL이 아닌 값 반환
SELECT COALESCE(col1, col2, 0)
LIMIT & OFFSET
결과 집합에서 일부만 조회하거나 페이징할 때 사용
LIMIT 몇 개를 가져올 지, OFFSET 건너뛸 행의 수
주문 테이블에서 주문 순으로 내림차순하고(최신), 10개를 건너뛰어서 11~20개를 가져오기
SELECT *
FROM ORDERS
ORDER BY ORDER_DATE DESC
LIMIT 10 OFFSET 10;
'SQL' 카테고리의 다른 글
SQL 내장 함수 (0) | 2024.12.05 |
---|---|
SQL 데이터 집계, 순위, 조인, 뷰 (0) | 2024.12.05 |
SQL if문, case문, 테이블 다루기 (0) | 2024.12.03 |
SQL 데이터 베이스 모델링 (0) | 2024.12.03 |
SQL 조회, 조건 (0) | 2024.12.03 |