TPC-DS-OBT Q74
TPC-DS-OBT benchmark · all TPC-DS-OBT queries
Representative SQL
Rendered for DataFusion with default parameters.
WITH year_total AS ( SELECT obt.bill_customer_c_customer_id AS customer_id, obt.bill_customer_c_first_name AS customer_first_name, obt.bill_customer_c_last_name AS customer_last_name, obt.sold_date_d_year AS year, SUM(obt.net_paid) AS year_total, 's' AS sale_type FROM tpcds_sales_returns_obt AS obt WHERE ( obt.bill_customer_c_customer_sk = obt.ship_customer_sk AND obt.sold_date_sk = obt.sold_date_d_date_sk AND obt.sold_date_d_year IN (1998, 1998 + 1) ) AND channel = 'store' GROUP BY obt.bill_customer_c_customer_id, obt.bill_customer_c_first_name, obt.bill_customer_c_last_name, obt.sold_date_d_year UNION ALL SELECT obt.bill_customer_c_customer_id AS customer_id, obt.bill_customer_c_first_name AS customer_first_name, obt.bill_customer_c_last_name AS customer_last_name, obt.sold_date_d_year AS year, SUM(obt.net_paid) AS year_total, 'w' AS sale_type FROM tpcds_sales_returns_obt AS obt WHERE ( obt.bill_customer_c_customer_sk = obt.bill_customer_sk AND obt.sold_date_sk = obt.sold_date_d_date_sk AND obt.sold_date_d_year IN (1998, 1998 + 1) ) AND channel = 'web' GROUP BY obt.bill_customer_c_customer_id, obt.bill_customer_c_first_name, obt.bill_customer_c_last_name, obt.sold_date_d_year)SELECT t_s_secyear.customer_id, t_s_secyear.customer_first_name, t_s_secyear.customer_last_nameFROM year_total AS t_s_firstyear, year_total AS t_s_secyear, year_total AS t_w_firstyear, year_total AS t_w_secyearWHERE t_s_secyear.customer_id = t_s_firstyear.customer_id AND t_s_firstyear.customer_id = t_w_secyear.customer_id AND t_s_firstyear.customer_id = t_w_firstyear.customer_id AND t_s_firstyear.sale_type = 's' AND t_w_firstyear.sale_type = 'w' AND t_s_secyear.sale_type = 's' AND t_w_secyear.sale_type = 'w' AND t_s_firstyear.year = 1998 AND t_s_secyear.year = 1998 + 1 AND t_w_firstyear.year = 1998 AND t_w_secyear.year = 1998 + 1 AND t_s_firstyear.year_total > 0 AND t_w_firstyear.year_total > 0 AND CASE WHEN t_w_firstyear.year_total > 0 THEN CAST(t_w_secyear.year_total AS DOUBLE PRECISION) / t_w_firstyear.year_total ELSE NULL END > CASE WHEN t_s_firstyear.year_total > 0 THEN CAST(t_s_secyear.year_total AS DOUBLE PRECISION) / t_s_firstyear.year_total ELSE NULL ENDORDER BY 3, 1, 2LIMIT 100Representative DataFrame
No DataFrame implementation is registered for this query.
Get the exact query for your run
The blocks above are representative. To get the precise statement a specific platform runs at a specific scale, substitute your own values:
from benchbox import TPCDSOBT
bench = TPCDSOBT(scale_factor=1.0) # your scale factorqueries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQLprint(queries['74'])Source
Query text: benchbox/core/tpcds_obt/queries.py