Skip to content

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_share
FROM (
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_nations
WHERE
o_year IS NOT NULL
GROUP BY
o_year
ORDER BY
o_year

Representative 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 factor
queries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQL
print(queries['8_v10'])

Source

Query text: benchbox/core/tpchavoc/variant_sets/q08.py