TPC-Havoc Q8_v10
TPC-Havoc benchmark · all TPC-Havoc queries
Representative SQL
Rendered for DataFusion with default parameters.
SELECT o_year, SUM( CASE WHEN nation = 'BRAZIL' THEN CASE WHEN volume > 0 THEN volume ELSE 0 END ELSE 0 END ) / SUM(CASE WHEN volume > 0 THEN volume ELSE 0 END) AS mkt_shareFROM ( SELECT CASE WHEN EXTRACT(YEAR FROM o_orderdate) BETWEEN 1995 AND 1996 THEN EXTRACT(YEAR FROM o_orderdate) ELSE NULL END AS o_year, CASE WHEN l_discount BETWEEN 0.05 AND 0.07 THEN l_extendedprice * ( 1 - l_discount ) WHEN l_discount < 0.05 THEN l_extendedprice * ( 1 - l_discount ) WHEN l_discount > 0.07 THEN l_extendedprice * ( 1 - l_discount ) ELSE l_extendedprice * ( 1 - l_discount ) END AS volume, CASE WHEN n2.n_name IN ('BRAZIL', 'ARGENTINA', 'CANADA', 'PERU', 'UNITED STATES') THEN n2.n_name ELSE 'OTHER' END AS nation FROM part, supplier, lineitem, orders, customer, nation AS n1, nation AS n2, region WHERE p_partkey = l_partkey AND s_suppkey = l_suppkey AND l_orderkey = o_orderkey AND o_custkey = c_custkey AND c_nationkey = n1.n_nationkey AND n1.n_regionkey = r_regionkey AND s_nationkey = n2.n_nationkey AND CASE WHEN r_name = 'AMERICA' THEN r_name ELSE NULL END = 'AMERICA' AND CASE WHEN o_orderdate >= CAST('1995-01-01' AS DATE) THEN 1 ELSE 0 END = 1 AND CASE WHEN o_orderdate <= CAST('1996-12-31' AS DATE) THEN 1 ELSE 0 END = 1 AND CASE WHEN p_type = 'ECONOMY ANODIZED STEEL' THEN p_type ELSE NULL END = 'ECONOMY ANODIZED STEEL') AS all_nationsWHERE o_year IS NOT NULLGROUP BY o_yearORDER BY o_yearRepresentative 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 TPCHavoc
bench = TPCHavoc(scale_factor=0.01) # your scale factorqueries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQLprint(queries['8_v10'])Source
Query text: benchbox/core/tpchavoc/variant_sets/q08.py