一文帶你瞭解如何用SQL處理週報數據

數據分析那些事
5 min readOct 9, 2023

--

題目

某公司數據庫有三張表,周度銷售表、店鋪信息表、日銷售明細表。

表一:周度銷售表記錄了每個自然周全國店鋪的銷售信息,字段包含了周、店鋪代碼、吊牌金額、銷售金額。

表二:店鋪信息表記錄店鋪所在的區域,店鋪對應的層級關係及業務類型,字段包含店鋪代碼、區域、上級客戶簡稱、業務類型。

表三:日銷售明細表記錄了每天全國不同區域的店鋪銷售商品的金額,客戶性質及商品信息,字段包含區域、上級客戶簡稱、上級客戶代碼、客戶性質、店鋪代碼、銷售日期、銷售金額、商品編碼。

業務需求

1.對於不同區域、業務類型的吊牌金額、銷售金額進行彙總(時間範圍202201–202205周。

2.抽取區域爲華東區、華中區、華西區、華南區的,並且客戶性質爲自營的,2022年3月及同期的日銷售數據。

解題思路

1.對於不同區域、業務類型的吊牌金額、銷售金額進行彙總(時間範圍202201–202205周)

我們先來把這個業務需求翻譯成大白話:

1)查詢結果需要的字段是區域、業務類型、吊牌金額、銷售金額

2)篩選時間周爲202201–202205

3)對於不同區域、業務類型的吊牌金額、銷售金額進行彙總

1)查詢結果需要的字段是區域、業務類型、吊牌金額、銷售金額

吊牌金額、銷售金額在周度銷售表中,區域、業務類型在店鋪信息表中,涉及到兩個表的字段,所以需要進行多表聯結。

觀察兩個表,得知兩表的名稱相同且有關聯的字段爲店鋪代碼,用店鋪代碼聯結兩張表。

使用哪種聯結呢?拿出《猴子 從零學會SQL》裏面的多表聯結圖。

因爲需要得到每個店鋪代碼對應的業務類型,所以用左連接保留周度銷售表中所有的銷售數據。

SQL書寫如下:

1 select *
2 from 周度銷售表 a
3 left join 店鋪信息表 b
4 on a.店鋪代碼 = b.店鋪代碼;

2)篩選時間周爲202201–202205,使用between 函數來篩選時間範圍。

SQL書寫如下:

1 select  *
2 from 周度銷售表 a
3 left join 店鋪信息表 b
4 on 店鋪代碼 = b.店鋪代碼
5 where 周 between 202201 and 202205;

查詢結果:

3)對於不同區域、業務類型的吊牌金額、銷售金額進行彙總

業務需求僅顯示吊牌金額和銷售金額,我們使用分組彙總來對不同區域、業務類分組 (group by),對吊牌金額、銷售金額進行彙總求和(求和函數sum)

SQL書寫如下:

1 select 區域,
2 業務類型,
3 sum(a.吊牌金額) AS “總吊牌金額”,
4 sum(a.銷售金額) AS “總銷售金額”
5 from 周度銷售表 a
6 left join 店鋪信息表 b
7 on a.店鋪代碼 = b.店鋪代碼
8 where 周 between 202201 and 202205
9 group by 業務類型,區域;

查詢結果:

2、抽取區域爲華東區、華中區、華西區、華南區的,並且客戶性質爲自營的,2022年3月及同期的日銷售數據。

需求顯示字段區域、客戶性質、銷售日期,日銷售明細表都包含,現在只需要將客戶性質爲“自營”和時間爲2022年3月及2021年3月(同期)數據顯示即可。

SQL中使用date_format將日銷售表中的銷售日期格式設置爲年月格式。

SQL書寫如下:

1 select *
2 from 日銷售明細表
3 where 區域 in (
4 “華東區”,
5 “華中區”,
6 “華西區”,
7 “華南區” )
8 and 客戶性質 = “自營”
9 and date_format(銷售日期, ‘%Y-%m’) between “2021–03” and “2022–03”;

查詢結果:

文章來源:猴子數據分析
原文鏈接:https://zhuanlan.zhihu.com/p/657278984

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

文章推薦

餅圖變形記,肝了3000字,收藏就是學會!

MySQL必須掌握4種語言!

太實用了!4種方法教你輕鬆製作互動式儀表板!

跟資料打交道的人都得會的這8種資料模型,滿足工作中95%的需求

妙呀!一行Python程式碼

關注數據君的臉書:

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,會有豐富資料包贈送唷!

--

--

數據分析那些事
數據分析那些事

Written by 數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

No responses yet