어제 하던 TIMESTAMP_TRUNC
의 사용법에 대한 공부를 하였다.
구글링을 통해 다양한 웹사이트에서 찾아보았다. 한글로 설명된 글보다 영어로 쓰여진 글이 더 많아서 언어의 장벽이 느껴졌지만 소박한 영어지식을 총동원하여 정보를 찾기 위해 노력하였다.
해답을 찾았는데 해당 구문에서 기간 설정을 ('2017-01-01', '2017-12-31') 이런 식으로 하는 것이 아니라 order_purchase_timestamp라는 Column을 넣고 WHERE
문으로 order_purchase_timestamp의 기간을 설정해주는 간단한 방법을 사용하면 되는 것이었다.
위의 방법으로 Query를 작성하고 실행하면 설정한 기간을 주차별로 끊어서 데이터가 출력되는데, 2017-01-11의 데이터라도 해당 주차의 시작일인 2017-01-09로 출력되어서 처음에는 내가 원하는 결과가 맞는지 헷갈렸었다.
정리하자면 2017-01-09와 2017-01-15 사이의 데이터가 2017-01-09라는 날짜로 통합되어서 출력되는 것이다.
따라서 주차별 시작일 Column으로 GROUP BY
해서 AVG
하면 주차별 데이터의 평균값이 출력된다.
state 별 배송 성과를 비교하기 위한 지표를 생각해보았다.
배송 미완료인 주문건수를 확인하여 어느 state가 가장 배송 완료율이 낮은지 파악하는 건 어떨까 생각해보았다.
Query를 작성하여 결과까지 구하긴 했는데 생각해보니 이런 방법으로 state별 성과를 분석한다면 최근에 주문이 가장 많이 들어온 state가 당연히 배송 미완료율이 높을 것이다.
따라서 해당 지표는 폐기하였다.
state별 연평균 배송기간을 구해서 배송기간이 가장 긴 지역 TOP 3와 가장 짧은 지역 TOP 3를 구하는 Query로 대체하였다.