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

37 lines
1.2 KiB
SQL

SELECT sum(ss_net_profit) AS total_sum,
s_state,
s_county,
grouping(s_state)+grouping(s_county) AS lochierarchy,
rank() OVER (PARTITION BY grouping(s_state)+grouping(s_county),
CASE
WHEN grouping(s_county) = 0 THEN s_state
END
ORDER BY sum(ss_net_profit) DESC) AS rank_within_parent
FROM store_sales,
date_dim d1,
store
WHERE d1.d_month_seq BETWEEN 1200 AND 1200+11
AND d1.d_date_sk = ss_sold_date_sk
AND s_store_sk = ss_store_sk
AND s_state IN
(SELECT s_state
FROM
(SELECT s_state AS s_state,
rank() OVER (PARTITION BY s_state
ORDER BY sum(ss_net_profit) DESC) AS ranking
FROM store_sales,
store,
date_dim
WHERE d_month_seq BETWEEN 1200 AND 1200+11
AND d_date_sk = ss_sold_date_sk
AND s_store_sk = ss_store_sk
GROUP BY s_state) tmp1
WHERE ranking <= 5 )
GROUP BY rollup(s_state,s_county)
ORDER BY lochierarchy DESC ,
CASE
WHEN grouping(s_state)+grouping(s_county) = 0 THEN s_state
END ,
rank_within_parent
LIMIT 100;