47 lines
1.4 KiB
SQL
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;
|
|
|