Today I Learned/SQL

[Bigquery] Time Data 다루기

하나719 2020. 9. 29. 14:53
반응형

Google Bigquery 에서 Time data를 다뤄보았습니다.

  • EXTRACT
  • DATE_ADD
  • CURRENT_DATE
  • DATE_TRUNC
  • FORMAT_DATETIME

문제 풀이

[활용 함수]

- DATATIME_TRUNC () 

- FORMAT_DATETIME() 

- EXTRACT ()

[참고 문서] https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions?hl=ko

 

표준 SQL의 시간 함수  |  BigQuery  |  Google Cloud

BigQuery는 다음 TIME 함수를 지원합니다. CURRENT_TIME CURRENT_TIME([timezone]) 설명 현재 시간을 TIME 객체로 반환합니다. 이 함수는 선택적 timezone 매개변수를 지원합니다. 시간대를 지정하는 방법에 대한 ��

cloud.google.com

 

문제1.

'bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2015' 테이블에서 2015년 1월 한 달간 시간 별 trip의 수를 구해주세요.

 

[sql 쿼리1]

SELECT FORMAT_DATETIME('%H',pickup_datetime) as hour ,COUNT(vendor_id) AS Trip_Count
FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2015`
WHERE DATETIME_TRUNC(pickup_datetime, MONTH) = '2015-01-01'
GROUP BY hour

[sql 쿼리2]

SELECT EXTRACT(HOUR FROM pickup_datetime) as hour ,COUNT(vendor_id) AS Trip_Count
FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2015`
WHERE EXTRACT(MONTH FROM pickup_datetime) = 1
GROUP BY hour

문제1 . 결과

 

문제2.

'bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2015' 테이블에서 요일별 trips의 수를 구해주세요.

[sql 쿼리]

SELECT FORMAT_DATETIME('%u',pickup_datetime) as week ,COUNT(vendor_id) AS Trip_Count
FROM `bigquery-public-data.new_york_taxi_trips.tlc_yellow_trips_2015`
GROUP BY week

문제 2 쿼리 결과

* 1:월요일 ~ 7:일요일

반응형