should be it
This commit is contained in:
53
external/duckdb/extension/tpcds/dsdgen/queries/51.sql
vendored
Normal file
53
external/duckdb/extension/tpcds/dsdgen/queries/51.sql
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
WITH web_v1 AS
|
||||
(SELECT ws_item_sk item_sk,
|
||||
d_date,
|
||||
sum(sum(ws_sales_price)) OVER (PARTITION BY ws_item_sk
|
||||
ORDER BY d_date ROWS BETWEEN unbounded preceding AND CURRENT ROW) cume_sales
|
||||
FROM web_sales,
|
||||
date_dim
|
||||
WHERE ws_sold_date_sk=d_date_sk
|
||||
AND d_month_seq BETWEEN 1200 AND 1200+11
|
||||
AND ws_item_sk IS NOT NULL
|
||||
GROUP BY ws_item_sk,
|
||||
d_date),
|
||||
store_v1 AS
|
||||
(SELECT ss_item_sk item_sk,
|
||||
d_date,
|
||||
sum(sum(ss_sales_price)) OVER (PARTITION BY ss_item_sk
|
||||
ORDER BY d_date ROWS BETWEEN unbounded preceding AND CURRENT ROW) cume_sales
|
||||
FROM store_sales,
|
||||
date_dim
|
||||
WHERE ss_sold_date_sk=d_date_sk
|
||||
AND d_month_seq BETWEEN 1200 AND 1200+11
|
||||
AND ss_item_sk IS NOT NULL
|
||||
GROUP BY ss_item_sk,
|
||||
d_date)
|
||||
SELECT *
|
||||
FROM
|
||||
(SELECT item_sk,
|
||||
d_date,
|
||||
web_sales,
|
||||
store_sales,
|
||||
max(web_sales) OVER (PARTITION BY item_sk
|
||||
ORDER BY d_date ROWS BETWEEN unbounded preceding AND CURRENT ROW) web_cumulative,
|
||||
max(store_sales) OVER (PARTITION BY item_sk
|
||||
ORDER BY d_date ROWS BETWEEN unbounded preceding AND CURRENT ROW) store_cumulative
|
||||
FROM
|
||||
(SELECT CASE
|
||||
WHEN web.item_sk IS NOT NULL THEN web.item_sk
|
||||
ELSE store.item_sk
|
||||
END item_sk,
|
||||
CASE
|
||||
WHEN web.d_date IS NOT NULL THEN web.d_date
|
||||
ELSE store.d_date
|
||||
END d_date,
|
||||
web.cume_sales web_sales,
|
||||
store.cume_sales store_sales
|
||||
FROM web_v1 web
|
||||
FULL OUTER JOIN store_v1 store ON (web.item_sk = store.item_sk
|
||||
AND web.d_date = store.d_date))x)y
|
||||
WHERE web_cumulative > store_cumulative
|
||||
ORDER BY item_sk NULLS FIRST,
|
||||
d_date NULLS FIRST
|
||||
LIMIT 100;
|
||||
|
||||
Reference in New Issue
Block a user