Files
email-tracker/external/duckdb/extension/tpcds/dsdgen/queries/62.sql
2025-10-24 19:21:19 -05:00

47 lines
1.4 KiB
SQL

SELECT w_substr,
sm_type,
web_name,
sum(CASE
WHEN (ws_ship_date_sk - ws_sold_date_sk <= 30) THEN 1
ELSE 0
END) AS "30 days",
sum(CASE
WHEN (ws_ship_date_sk - ws_sold_date_sk > 30)
AND (ws_ship_date_sk - ws_sold_date_sk <= 60) THEN 1
ELSE 0
END) AS "31-60 days",
sum(CASE
WHEN (ws_ship_date_sk - ws_sold_date_sk > 60)
AND (ws_ship_date_sk - ws_sold_date_sk <= 90) THEN 1
ELSE 0
END) AS "61-90 days",
sum(CASE
WHEN (ws_ship_date_sk - ws_sold_date_sk > 90)
AND (ws_ship_date_sk - ws_sold_date_sk <= 120) THEN 1
ELSE 0
END) AS "91-120 days",
sum(CASE
WHEN (ws_ship_date_sk - ws_sold_date_sk > 120) THEN 1
ELSE 0
END) AS ">120 days"
FROM web_sales,
(SELECT SUBSTRING(w_warehouse_name,1,20) w_substr,
*
FROM warehouse) sq1,
ship_mode,
web_site,
date_dim
WHERE d_month_seq BETWEEN 1200 AND 1200 + 11
AND ws_ship_date_sk = d_date_sk
AND ws_warehouse_sk = w_warehouse_sk
AND ws_ship_mode_sk = sm_ship_mode_sk
AND ws_web_site_sk = web_site_sk
GROUP BY w_substr,
sm_type,
web_name
ORDER BY 1 NULLS FIRST,
2 NULLS FIRST,
3 NULLS FIRST
LIMIT 100;