Skip to content

TPC-DS-OBT Q56

TPC-DS-OBT benchmark · all TPC-DS-OBT queries

Representative SQL

Rendered for DataFusion with default parameters.

WITH ss AS (
SELECT
obt.item_i_item_id,
SUM(obt.ext_sales_price) AS total_sales
FROM tpcds_sales_returns_obt AS obt
WHERE
(
obt.item_i_item_id IN (
SELECT
obt.item_i_item_id
FROM tpcds_sales_returns_obt AS obt
WHERE
obt.item_i_color IN ('1', '1', '1') AND channel IN ('catalog', 'store', 'web')
)
AND obt.item_sk = obt.item_i_item_sk
AND obt.sold_date_sk = obt.sold_date_d_date_sk
AND obt.sold_date_d_year = 1998
AND obt.sold_date_d_moy = 1
AND obt.ship_addr_sk = obt.bill_addr_ca_address_sk
AND obt.bill_addr_ca_gmt_offset = 0
)
AND channel = 'store'
GROUP BY
obt.item_i_item_id
), cs AS (
SELECT
obt.item_i_item_id,
SUM(obt.ext_sales_price) AS total_sales
FROM tpcds_sales_returns_obt AS obt
WHERE
(
obt.item_i_item_id IN (
SELECT
obt.item_i_item_id
FROM tpcds_sales_returns_obt AS obt
WHERE
obt.item_i_color IN ('1', '1', '1') AND channel IN ('catalog', 'store', 'web')
)
AND obt.item_sk = obt.item_i_item_sk
AND obt.sold_date_sk = obt.sold_date_d_date_sk
AND obt.sold_date_d_year = 1998
AND obt.sold_date_d_moy = 1
AND obt.bill_addr_sk = obt.bill_addr_ca_address_sk
AND obt.bill_addr_ca_gmt_offset = 0
)
AND channel = 'catalog'
GROUP BY
obt.item_i_item_id
), ws AS (
SELECT
obt.item_i_item_id,
SUM(obt.ext_sales_price) AS total_sales
FROM tpcds_sales_returns_obt AS obt
WHERE
(
obt.item_i_item_id IN (
SELECT
obt.item_i_item_id
FROM tpcds_sales_returns_obt AS obt
WHERE
obt.item_i_color IN ('1', '1', '1') AND channel IN ('catalog', 'store', 'web')
)
AND obt.item_sk = obt.item_i_item_sk
AND obt.sold_date_sk = obt.sold_date_d_date_sk
AND obt.sold_date_d_year = 1998
AND obt.sold_date_d_moy = 1
AND obt.bill_addr_sk = obt.bill_addr_ca_address_sk
AND obt.bill_addr_ca_gmt_offset = 0
)
AND channel = 'web'
GROUP BY
obt.item_i_item_id
)
SELECT
item_i_item_id,
SUM(total_sales) AS total_sales
FROM (
SELECT
*
FROM ss
UNION ALL
SELECT
*
FROM cs
UNION ALL
SELECT
*
FROM ws
) AS tmp1
GROUP BY
item_i_item_id
ORDER BY
total_sales,
item_i_item_id
LIMIT 100

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

Source

Query text: benchbox/core/tpcds_obt/queries.py