49 lines
1.4 KiB
SQL
49 lines
1.4 KiB
SQL
SELECT asceding.rnk,
|
|
i1.i_product_name best_performing,
|
|
i2.i_product_name worst_performing
|
|
FROM
|
|
(SELECT *
|
|
FROM
|
|
(SELECT item_sk,
|
|
rank() OVER (
|
|
ORDER BY rank_col ASC) rnk
|
|
FROM
|
|
(SELECT ss_item_sk item_sk,
|
|
avg(ss_net_profit) rank_col
|
|
FROM store_sales ss1
|
|
WHERE ss_store_sk = 4
|
|
GROUP BY ss_item_sk
|
|
HAVING avg(ss_net_profit) > 0.9*
|
|
(SELECT avg(ss_net_profit) rank_col
|
|
FROM store_sales
|
|
WHERE ss_store_sk = 4
|
|
AND ss_addr_sk IS NULL
|
|
GROUP BY ss_store_sk))V1)V11
|
|
WHERE rnk < 11) asceding,
|
|
(SELECT *
|
|
FROM
|
|
(SELECT item_sk,
|
|
rank() OVER (
|
|
ORDER BY rank_col DESC) rnk
|
|
FROM
|
|
(SELECT ss_item_sk item_sk,
|
|
avg(ss_net_profit) rank_col
|
|
FROM store_sales ss1
|
|
WHERE ss_store_sk = 4
|
|
GROUP BY ss_item_sk
|
|
HAVING avg(ss_net_profit) > 0.9*
|
|
(SELECT avg(ss_net_profit) rank_col
|
|
FROM store_sales
|
|
WHERE ss_store_sk = 4
|
|
AND ss_addr_sk IS NULL
|
|
GROUP BY ss_store_sk))V2)V21
|
|
WHERE rnk < 11) descending,
|
|
item i1,
|
|
item i2
|
|
WHERE asceding.rnk = descending.rnk
|
|
AND i1.i_item_sk=asceding.item_sk
|
|
AND i2.i_item_sk=descending.item_sk
|
|
ORDER BY asceding.rnk
|
|
LIMIT 100;
|
|
|