BigQuery
-
[BigQuery] ROLLUP 없이 ROLLUP 구현하기데이터 분석/SQL 2022. 5. 11. 18:49
더보기 출처 : 데이터 분석을 위한 SQL 레시피 BigQuery에는 원래 ROLLUP() 쿼리가 없었지만 최근에 생긴듯하다. 하지만 coalesce() 쿼리와 함께 쓸 때 coalesce() 쿼리가 제대로 기능하지 않아 지정한 문자가 아니라 null값으로 채워진다. 그래서 ROLLUP 기능을 UNION ALL 쿼리로 구현해보려고 한다. 사용할 데이터 DROP TABLE IF EXISTS ch4.action_log_11_3_1; CREATE TABLE ch4.action_log_11_3_1( session string(255) , user_id string(255) , action string(255) , category string(255) , products string(255) , amount in..
-
[BigQuery] Table 생성데이터 분석/SQL 2022. 5. 7. 17:54
더보기 출처 : 데이터 분석을 위한 SQL 레시피 bigquery table 생성에 대해 살펴보겠다. 미리 말하자면 주의 사항은 data set이라는 구조이다. Table 생성 DROP TABLE IF EXISTS mst_users; # table 존재 여부 확인 및 삭제 CREATE TABLE mst_users( # table 생성 user_id string(255) # BigQuery는 varchar라는 데이터형은 없고 string 데이터형 사용 , register_date string(255) , register_device integer ); INSERT INTO mst_users # table에 데이터 삽입 VALUES # table에 넣을 데이터 입력 ('U001', '2016-08-26', ..
-
[BigQuery] CROSS JOIN을 이용한 Table 열 압축, 정리데이터 분석/SQL 2022. 5. 5. 02:15
더보기 출처 : 데이터 분석을 위한 SQL 레시피 참고 : https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax?hl=ko#cross\_join CROSS JOIN cross join은 두 개의 table의 각 행들을 연결하는 쿼리이다. M개의 행을 가진 table과 N개의 행을 가진 table을 cross join 할 경우 M * N개의 행을 가진 table이 생성된다. 'quarterly_sale' table 생성 drop table if exists ch3.quarterly_sales; create table ch3.quarterly_sales( year integer, q1 integer, q2 integer, q3 ..