SQL
-
[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] 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 ..
-
[PostgreSQL] CASE문데이터 분석/SQL 2022. 4. 9. 14:10
출처 : 데이터 분석을 위한 SQL 레시피 CASE CASE 문은 규칙을 정하고, 그것을 따라 새 열을 생성할 수 있습니다. 아래의 예시는 각 행의 company열의 값이 1, 2, 3일 경우 company_name 열에 '삼성', '애플', '테슬라' 저장되고 그 외의 것은 '기타'로 저장되도록 작성한 CASE문입니다. Select User_id , CASE WHEN company = 1 THEN ‘삼성’ WHEN company = 2 THEN ‘애플’ WHEN company = 3 THEN ‘테슬라’ ELSE ‘기타’ END AS company_name FROM club_member;