●入門篇
章數據分析基礎介紹2
1.1數據分析是什麼2
1.2為什麼要進行數據分析2
1.2.1現狀分析3
1.2.2原因分析3
1.2.3預測分析4
1.3數據分析究竟在分析什麼5
1.3.1總體概覽指標5
1.3.2對比性指標5
1.3.3集中趨勢指標6
1.3.4離散程度指標6
1.3.5相關性指標7
1.3.6相關與因果7
1.4數據分析的常規分析流程7
1.4.1熟悉工具8
1.4.2明確目的8
1.4.3獲取數據8
1.4.4熟悉數據8
1.4.5處理數據8
1.4.6分析數據9
1.4.7得出結論9
1.4.8驗證結論9
1.4.9展現結論9
1.5數據分析工具9
1.5.1Excel與SQL9
1.5.2SQL與Python10
知識篇
第2章數據庫基礎知識12
2.1數據庫的發展及組成12
2.1.1數據庫的發展12
2.1.2數據庫的組成13
2.2SQL是什麼13
2.3SQL的基本功能14
2.3.1數據定義15
2.3.2數據操縱15
2.3.3數據控制15
2.4SQL查詢的處理步驟15
2.4.1查詢分析15
2.4.2查詢檢查15
2.4.3查詢優化16
2.4.4查詢執行16
2.5不同數據庫的比較16
第3章數據庫工具準備17
3.1認識MySQL官方網站17
3.2MySQL的與安裝19
3.2.1基於Windows的與安裝19
3.2.2基於macOS的與安裝27
3.3DBeaver的與安裝33
3.3.1基於Windows的與安裝33
3.3.2基於macOS的與安裝38
3.4DBeaver使用說明42
3.4.1新建表結構42
3.4.2導入外部數據44
3.4.3代碼執行46
3.4.4導出結果數據47
3.5寫下行SQL語句49
第4章數據源的獲取50
4.1外部數據50
4.2公司現有數據50
4.3新建數據50
4.4熟悉數據50
4.4.1了解數據庫信息52
4.4.2了解數據表信息52
4.4.3了解列信息52
第5章數據的獲取54
5.1獲取列54
5.1.1獲取全部列55
5.1.2獲取特定的列55
5.2獲取想要的行56
5.2.1獲取全部行56
5.2.2獲取前幾行56
5.2.3獲取滿足單一條件的行57
5.2.4獲取滿足多個條件的行58
5.3行列同時獲取59
5.4插入一列固定值60
5.5JSON列解析61
5.6對結果進行排序62
第6章數據預處理65
6.1缺失值處理65
6.2重復值處理68
6.3數據類型轉換70
6.4重命名72
第7章數據運算74
7.1算術運算74
7.2比較運算76
7.3邏輯運算78
7.4數學運算80
7.4.1求絕對值80
7.4.2求最小整數值81
7.4.3求優選整數值81
7.4.4隨機數生成81
7.4.5小數點位數調整83
7.4.6正負判斷83
7.5字符串運算84
7.5.1字符串替換84
7.5.2字符串合並85
7.5.3字符串截取86
7.5.4字符串匹配86
7.5.5字符串計數87
7.5.6去除字符串空格88
7.5.7字符串重復89
7.6聚合運算89
7.6.1count()計數89
7.6.2sum()求和90
7.6.3avg()求平均值90
7.6.4max()求優選值90
7.6.5min()求最小值91
7.6.6求方差91
7.6.7求標準差92
7.6.8聚合函數之間的運算92
第8章控制函數94
8.1if()函數94
8.2casewhen函數96
第9章日期和時間函數99
9.1獲取當前時刻的數據99
9.1.1獲取當前時刻的日期和時間99
9.1.2獲取當前時刻的日期99
9.1.3獲取當前時刻的時間100
9.1.4獲取當前時刻所屬的周數101
9.1.5獲取當前時刻所屬的季度102
9.2日期和時間格式轉換102
9.3日期和時間運算104
9.3.1向後偏移日期和時間104
9.3.2向前偏移日期和時間105
9.3.3兩個日期之間做差106
9.3.4兩個日期之間的比較107
0章數據分組與數據透視表108
10.1groupby的底層原理108
10.2對分組後的數據進行聚合運算109
10.3對聚合後的數據進行條件篩選111
10.4group_concat()函數112
10.5rollup.113
10.6數據透視表實現115
1章窗口函數117
11.1什麼是窗口函數117
11.2聚合函數+over()函數117
11.3partitionby子句118
11.4orderby子句120
11.5序列函數121
11.5.1ntile()函數121
11.5.2row_number()函數123
11.5.3lag()和lead()函數124
11.5.4first_value()和last_value()函數126
2章多表連接127
12.1表的橫向連接127
12.1.1表連接的方式128
12.1.2表連接的類型132
12.1.3多張表連接134
12.2表的縱向連接135
12.3橫向連接的底層原理135
12.3.1SimpleNested-LoopJoin136
12.3.2IndexNested-LoopJoin136
12.3.3BlockNested-LoopJoin137
3章子查詢139
13.1子查詢的概念139
13.2子查詢的分類139
13.2.1select子查詢140
13.2.2from子查詢141
13.2.3where子查詢142
13.3with建立臨時表144
實戰篇
4章SQL中的其他話題150
14.1SQL查詢的執行順序.150
14.2變量設置152
14.3分區表153
14.4寬表與窄表154
14.5全量表,增量表,快照表,拉鏈表,流水表154
14.6數據回溯156
14.7數據倉庫的基本分層157
14.8SQL語句的代碼規範157
14.9如何快速梳理數據庫邏輯159
14.10如何快速讀懂別人的代碼160
14.11編輯器161
14.11.1軟件安裝161
14.11.2常用功能設置162
14.11.3常用快捷鍵166
14.12創建表167
14.12.1創建一張表167
14.12.2向表中插入數據168
14.12.3修改表中的數據169
14.12.4刪除表169
5章SQL數據分析實戰170
15.1查詢每個區域的用戶數170
15.2查詢每個區域的男女用戶數171
15.3查詢姓張的用戶數171
15.4篩選出id3~id5的用戶172
15.5篩選出績效不達標的員工172
15.6篩選出姓張的且績效不達標的員工173
15.7查詢獲得銷售冠軍超過兩次的人174
15.8查詢某部門一年的月銷售額最高漲幅175
15.9查詢每個季度績效得分大於70分的員工175
15.10刪除重復值176
15.11行列互換177
15.12多列比較178
15.13對成績進行分組179
15.14周累計數據獲取180
15.15周環比數據獲取181
15.16查詢獲獎員工信息182
15.17計算用戶留存情況183
15.18篩選最受歡迎的課程185
15.19篩選出每個年級最受歡迎的三門課程186
15.20求累積和187
15.21獲取新增用戶數189
15.22獲取用戶首次購買時間190
15.23同時獲取用戶和訂單數據191
15.24隨機抽樣192
15.25獲取沉默用戶數193
15.26獲取新用戶的訂單數193
15.27獲取借款到期名單194
15.28獲取即將到期的借款信息195
15.29獲取歷史逾期借款信息196
15.30綜合實戰196
6章SQL中常見的報錯198
16.1DBeaver相關報錯198
16.1.1時區錯誤198
16.1.2PublicKeyRetrieval199
16.1.3connecterror200
16.1.4加密方式錯誤201
16.2MySQL配置相關報錯202
16.2.1MySQL安裝失敗202
16.2.2MySQL客戶端閃退206
16.2.3訪問被拒絕206
16.3語法相關報錯206
16.3.1表名錯誤206
16.3.2列名錯誤206
16.3.3groupby錯誤206
16.3.4權限錯誤207
16.3.5逗號錯誤207
16.3.6括號錯誤208
內容簡介
本書是《對比Excel,輕松學習Python數據分析》的姊妹篇,同樣采用對比的方法,降低學習門檻,提高學習效率。全書分為3篇:篇主要介紹數據分析的基礎知識,包括數據分析的基本概念、為什麼要進行數據分析及常規的數據分析流程,使讀者對數據分析有一個整體的認識;第2篇主要圍繞數據分析的整個流程來介紹與SQL語法相關的知識,包括如何選取一列數據、如何對數據進行分組運算等基礎知識,還包括窗口函數等進階知識;第3篇主要介紹SQL數據分析實戰,都是一些比較常規的業務場景實戰。本書適合零基礎學習SQL的人員,包括數據分析師、產品經理、數據運營人員、市場營銷人員、應屆畢業生等所有需要利用SQL查詢數據的人員。