QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Sort (cost=78358607.20..78358607.23 rows=13 width=228) Output: wswscs.d_week_seq, (round((wswscs.sun_sales / wswscs_1.sun_sales), 2)), (round((wswscs.mon_sales / wswscs_1.mon_sales), 2)), (round((wswscs.tue_sales / wswscs_1.tue_sales), 2)), (round((wswscs.wed_sales / wswscs_1.wed_sales), 2)), (round((wswscs.thu_sales / wswscs_1.thu_sales), 2)), (round((wswscs.fri_sales / wswscs_1.fri_sales), 2)), (round((wswscs.sat_sales / wswscs_1.sat_sales), 2)) Sort Key: wswscs.d_week_seq CTE wswscs -> Finalize GroupAggregate (cost=68629994.30..78353402.10 rows=10457 width=228) Output: date_dim_2.d_week_seq, sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Sunday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Monday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Tuesday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Wednesday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Thursday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Friday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Saturday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END) Group Key: date_dim_2.d_week_seq -> Gather Merge (cost=68629994.30..78352330.26 rows=20914 width=228) Output: date_dim_2.d_week_seq, (PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Sunday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END)), (PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Monday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END)), (PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Tuesday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END)), (PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Wednesday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END)), (PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Thursday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END)), (PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Friday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END)), (PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Saturday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END)) Workers Planned: 2 -> Partial GroupAggregate (cost=68628994.27..78348916.24 rows=10457 width=228) Output: date_dim_2.d_week_seq, PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Sunday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Monday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Tuesday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Wednesday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Thursday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Friday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END), PARTIAL sum(CASE WHEN ((date_dim_2.d_day_name)::text = 'Saturday'::text) THEN catalog_sales.cs_ext_sales_price ELSE NULL::numeric END) Group Key: date_dim_2.d_week_seq -> Sort (cost=68628994.27..69236471.42 rows=242990860 width=18) Output: date_dim_2.d_week_seq, date_dim_2.d_day_name, catalog_sales.cs_ext_sales_price Sort Key: date_dim_2.d_week_seq -> Parallel Hash Join (cost=2345.82..19835192.73 rows=242990860 width=18) Output: date_dim_2.d_week_seq, date_dim_2.d_day_name, catalog_sales.cs_ext_sales_price Inner Unique: true Hash Cond: (catalog_sales.cs_sold_date_sk = date_dim_2.d_date_sk) -> Parallel Append (cost=0.00..19194958.90 rows=242990860 width=10) -> Parallel Seq Scan on tpcds.catalog_sales (cost=0.00..12098811.07 rows=161985707 width=10) Output: catalog_sales.cs_ext_sales_price, catalog_sales.cs_sold_date_sk -> Parallel Seq Scan on tpcds.web_sales (cost=0.00..5881193.53 rows=81005153 width=10) Output: web_sales.ws_ext_sales_price, web_sales.ws_sold_date_sk -> Parallel Hash (cost=1808.70..1808.70 rows=42970 width=16) Output: date_dim_2.d_week_seq, date_dim_2.d_day_name, date_dim_2.d_date_sk -> Parallel Seq Scan on tpcds.date_dim date_dim_2 (cost=0.00..1808.70 rows=42970 width=16) Output: date_dim_2.d_week_seq, date_dim_2.d_day_name, date_dim_2.d_date_sk -> Hash Join (cost=4955.92..5204.86 rows=13 width=228) Output: wswscs.d_week_seq, round((wswscs.sun_sales / wswscs_1.sun_sales), 2), round((wswscs.mon_sales / wswscs_1.mon_sales), 2), round((wswscs.tue_sales / wswscs_1.tue_sales), 2), round((wswscs.wed_sales / wswscs_1.wed_sales), 2), round((wswscs.thu_sales / wswscs_1.thu_sales), 2), round((wswscs.fri_sales / wswscs_1.fri_sales), 2), round((wswscs.sat_sales / wswscs_1.sat_sales), 2) Hash Cond: (wswscs.d_week_seq = date_dim.d_week_seq) -> CTE Scan on wswscs (cost=0.00..209.14 rows=10457 width=228) Output: wswscs.d_week_seq, wswscs.sun_sales, wswscs.mon_sales, wswscs.tue_sales, wswscs.wed_sales, wswscs.thu_sales, wswscs.fri_sales, wswscs.sat_sales -> Hash (cost=4955.75..4955.75 rows=13 width=232) Output: date_dim.d_week_seq, wswscs_1.sun_sales, wswscs_1.mon_sales, wswscs_1.tue_sales, wswscs_1.wed_sales, wswscs_1.thu_sales, wswscs_1.fri_sales, wswscs_1.sat_sales, wswscs_1.d_week_seq -> Merge Join (cost=4950.16..4955.75 rows=13 width=232) Output: date_dim.d_week_seq, wswscs_1.sun_sales, wswscs_1.mon_sales, wswscs_1.tue_sales, wswscs_1.wed_sales, wswscs_1.thu_sales, wswscs_1.fri_sales, wswscs_1.sat_sales, wswscs_1.d_week_seq Merge Cond: (((wswscs_1.d_week_seq - 53)) = date_dim.d_week_seq) -> Sort (cost=2642.57..2643.48 rows=364 width=228) Output: wswscs_1.sun_sales, wswscs_1.mon_sales, wswscs_1.tue_sales, wswscs_1.wed_sales, wswscs_1.thu_sales, wswscs_1.fri_sales, wswscs_1.sat_sales, wswscs_1.d_week_seq, ((wswscs_1.d_week_seq - 53)) Sort Key: ((wswscs_1.d_week_seq - 53)) -> Hash Join (cost=2296.66..2627.08 rows=364 width=228) Output: wswscs_1.sun_sales, wswscs_1.mon_sales, wswscs_1.tue_sales, wswscs_1.wed_sales, wswscs_1.thu_sales, wswscs_1.fri_sales, wswscs_1.sat_sales, wswscs_1.d_week_seq, (wswscs_1.d_week_seq - 53) Hash Cond: (wswscs_1.d_week_seq = date_dim_1.d_week_seq) -> CTE Scan on wswscs wswscs_1 (cost=0.00..209.14 rows=10457 width=228) Output: wswscs_1.d_week_seq, wswscs_1.sun_sales, wswscs_1.mon_sales, wswscs_1.tue_sales, wswscs_1.wed_sales, wswscs_1.thu_sales, wswscs_1.fri_sales, wswscs_1.sat_sales -> Hash (cost=2292.11..2292.11 rows=364 width=4) Output: date_dim_1.d_week_seq -> Seq Scan on tpcds.date_dim date_dim_1 (cost=0.00..2292.11 rows=364 width=4) Output: date_dim_1.d_week_seq Filter: (date_dim_1.d_year = 2002) -> Sort (cost=2307.60..2308.51 rows=364 width=4) Output: date_dim.d_week_seq Sort Key: date_dim.d_week_seq -> Seq Scan on tpcds.date_dim (cost=0.00..2292.11 rows=364 width=4) Output: date_dim.d_week_seq Filter: (date_dim.d_year = 2001) JIT: Functions: 52 Options: Inlining true, Optimization true, Expressions true, Deforming true (61 rows)