Skip to content

TPC-Havoc Q16_v4

TPC-Havoc benchmark · all TPC-Havoc queries

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
p_brand,
p_type,
p_size,
COUNT(DISTINCT ps_suppkey) AS supplier_cnt
FROM (
SELECT
p.p_brand,
p.p_type,
p.p_size,
ps.ps_suppkey
FROM partsupp AS ps, part AS p
WHERE
p.p_partkey = ps.ps_partkey
AND p.p_brand <> 'Brand#45'
AND p.p_type NOT LIKE 'MEDIUM POLISHED%'
AND p.p_size IN (49, 14, 23, 45, 19, 3, 36, 9)
AND NOT ps.ps_suppkey IN (
SELECT
s_suppkey
FROM supplier
WHERE
s_comment LIKE '%Customer%Complaints%'
)
UNION ALL
SELECT
p.p_brand,
p.p_type,
p.p_size,
NULL AS ps_suppkey
FROM part AS p
WHERE
p.p_brand <> 'Brand#45'
AND p.p_type NOT LIKE 'MEDIUM POLISHED%'
AND p.p_size IN (49, 14, 23, 45, 19, 3, 36, 9)
AND NOT EXISTS(
SELECT
1
FROM partsupp AS ps2
WHERE
ps2.ps_partkey = p.p_partkey
AND NOT ps2.ps_suppkey IN (
SELECT
s_suppkey
FROM supplier
WHERE
s_comment LIKE '%Customer%Complaints%'
)
)
) AS combined_results
WHERE
ps_suppkey IS NOT NULL
GROUP BY
p_brand,
p_type,
p_size
ORDER BY
supplier_cnt DESC,
p_brand,
p_type,
p_size

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['16_v4'])

Source

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