Skip to content

TPC-Havoc Q1_v4

TPC-Havoc benchmark · all TPC-Havoc queries

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
final.l_returnflag,
final.l_linestatus,
final.sum_qty,
final.sum_base_price,
final.sum_disc_price,
final.sum_charge,
final.sum_qty / final.count_order AS avg_qty,
final.sum_base_price / final.count_order AS avg_price,
final.sum_disc / final.count_order AS avg_disc,
final.count_order
FROM (
SELECT
l_returnflag,
l_linestatus,
SUM(l_quantity) AS sum_qty,
SUM(l_extendedprice) AS sum_base_price,
SUM(l_extendedprice * (
1 - l_discount
)) AS sum_disc_price,
SUM(l_extendedprice * (
1 - l_discount
) * (
1 + l_tax
)) AS sum_charge,
SUM(l_discount) AS sum_disc,
COUNT(*) AS count_order
FROM lineitem
WHERE
l_shipdate <= CAST('1998-12-01' AS DATE) - INTERVAL '90 DAY'
GROUP BY
l_returnflag,
l_linestatus
UNION ALL
SELECT
l_returnflag,
l_linestatus,
0 AS sum_qty,
0 AS sum_base_price,
0 AS sum_disc_price,
0 AS sum_charge,
0 AS sum_disc,
0 AS count_order
FROM lineitem
WHERE
l_shipdate <= CAST('1998-12-01' AS DATE) - INTERVAL '90 DAY'
GROUP BY
l_returnflag,
l_linestatus
HAVING
1 = 0
) AS final
WHERE
final.count_order > 0
ORDER BY
final.l_returnflag,
final.l_linestatus

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

Source

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