2025年11月12日 星期三

SQL 資料分析教學:DAY 6

主題範例:找出特定區間內成長最快的產品並計算成長率

假設有一個「sales」銷售表,欄位包括 product_id、sale_date、amount。本範例要找到今年(2025年)每個產品的銷售成長率,並列出成長最快的前五名產品。


sql

SELECT 

    product_id,

    SUM(CASE WHEN YEAR(sale_date) = 2024 THEN amount ELSE 0 END) AS last_year_sales,

    SUM(CASE WHEN YEAR(sale_date) = 2025 THEN amount ELSE 0 END) AS this_year_sales,

    CASE 

        WHEN SUM(CASE WHEN YEAR(sale_date) = 2024 THEN amount ELSE 0 END) = 0 THEN NULL

        ELSE 

            (SUM(CASE WHEN YEAR(sale_date) = 2025 THEN amount ELSE 0 END) - SUM(CASE WHEN YEAR(sale_date) = 2024 THEN amount ELSE 0 END)) 

            / SUM(CASE WHEN YEAR(sale_date) = 2024 THEN amount ELSE 0 END)

    END AS growth_rate

FROM sales

GROUP BY product_id

ORDER BY growth_rate DESC

LIMIT 5;

範例解說:

使用 CASE WHEN 判斷銷售年份,分別加總去年和今年的銷售額。

用今年減去年並除以去年,計算成長率。

排序後挑選成長最快的前五名(LIMIT 5)。

可以用於年度績效分析、產品策略調整等情境。

沒有留言:

張貼留言

職場毒癌:你憑什麼以為你十年寒窗,抵得我三代從商

你憑什麼以為你十年寒窗,抵得我三代從商——這句話已經記不得是從哪裡看到的,可能是某部劇,也可能是某篇 FB 文章標題。 但最近,特別有感。 為什麼會有這種感觸? 職場上有個同事,一路慢慢升到課長,好歹也是管理職,雖說不上鐵飯碗,但在多數人眼裡也算穩定。 結果呢?輾轉換了兩個製造課...