본문 바로가기
> 프로그래밍 언어/SQL

[SQL 데이터 분석, 입문!] 섹션 3. 시간 값 필터링

by 자몽주스 2023. 2. 10.
728x90
반응형

[개념은 호옹~, 실습 빡]

SQL 데이터 분석, 입문!

참고사이트:

SQL, 데이터 분석! | CloudStudying

시간값 필터링 (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

이라는 연산을 준다

합친 순수익

 

728x90
반응형