[개념은 호옹~, 실습 빡]
SQL 데이터 분석, 입문!
참고사이트:
시간값 필터링 (feat. 거래내역)
시간값 필터링과 타임스탬프 개요 (특정 기간 데이터만 가져오기!)
시간값 필터링:
시간을 기준으로 데이터를 갖고오는 것
Timestamptz:
날짜/시간/타임존
(타임존: 영국을 기준으로 한 시간차이)
날짜 형식으로 필터링 (22년 1월 거래금액 총합)
2022년 1월 순수익 (이체 총합) 구하기
transactions 테이블로부터 (FROM)
1월 1일 TIMESTAMPTZ 를 기준으로 해서
1월 1일 이후의 데이터를 다 갖고오게 됨
조건을 추가해서
2월달에 포함된 데이터를
지워줘야 함
그러면 2022년 1월달 데이터들만 남음
그리고 거래 금액의 총합을 구하면 끝
(SUM() 을 사용)
끝
EXTRACT 함수 (21년 12월 거래액)
2021년 12월 순수익 구하기
조건을 추가해서
기간이 맞게 설정해 준다
EXTRACT 라는 함수를 사용해서도
구할 수 있다 ↓
EXTRACT():
시간 값에서 특정 속성을 숫자로 추출
시간 값이 있다면
추출을 할 수 있음
ex) 연도를 추출을 하면
YEAR(2021)
이렇게 괄호안에 숫자가 뽑혀나옴
달(MONTH)를 뽑아오고 싶다면
MONTH(12)
이렇게 뽑아지게 된다
두가지 조건 갖고 필터링하기
해석:
연도(YEAR)를 뽑아올 것이다
어디에서?
-> FROM created_at 이라는
시간값에서
순수익 구하려면
아까처럼
SUM() 사용
완성
TO_CHAR 함수 (21년 11월 거래액)
2021년 11월 순수익 구하기
WHERE - 조건식 써줌으로서 필터링 해 줌
그리고 TO_CHAR() 함수 사용
TO_CHAR():
특정 값을 다양한 형식 문자로
바꿔준다
created_at 이라는
TIMESTAMPTZ 시간 값을
변경할 건데,
'YYYY_MM'
연도 4글자랑
월 값 2글자로
변경
'2021-11'
2021년 11월 인 것만
뽑혔으면 좋겠다
결과 값
'YYYY-MM'으로 변경된 걸
예로 들면,
created_at TIMESTAMPTZ 값인
"2021-11-01 10:02:48+09"
이거에서
=> YYYY-MM
형식으로 변경한 것이다
변경된(뽑혀진) 값을
비교해서 시간값 필터링이 진행된 것
SUM() 사용하여
순수익 구하면 끝
TO_CHAR 함수#2 (21년도 11월과 22년 1월의 거래액 총합)
21년도 11월과 22년 1월의 총 순수익 구하기
또는 이니까
OR
이라는 연산을 준다
합친 순수익
'> 프로그래밍 언어 > SQL' 카테고리의 다른 글
[SQL 데이터 분석, 활용!] 섹션 2. 일대다, 다대다 관계 (0) | 2023.02.13 |
---|---|
[SQL 데이터 분석, 활용!] 섹션 1. 일대다 관계 (0) | 2023.02.13 |
[SQL 데이터 분석, 입문!] 섹션 2. 집계 함수 (0) | 2023.02.09 |
[SQL 데이터 분석, 입문!] 섹션 1. 데이터 필터링 (0) | 2023.02.09 |
[SQL 데이터 분석, 입문!] 섹션 0. SQL 시작하기 (0) | 2023.02.07 |