產(chǎn)品經(jīng)理學(xué)SQL
最近在工作中需要查詢一些數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,又不好每次都麻煩開發(fā)小哥哥,于是只能動手自己查詢。今天就來聊聊如何取數(shù)。(其實嚴(yán)格意義上來說,SQL不能算是一門編程語言,只能算是一個取數(shù)工具。)
學(xué)習(xí)SQL的好處
1、不用每次都麻煩開發(fā)
找開發(fā)小哥哥給你查詢數(shù)據(jù),你可能得等半天,而自己查詢的話,一兩分鐘的事情。既裝逼,又高效。
2、為轉(zhuǎn)型數(shù)據(jù)產(chǎn)品經(jīng)理打下基礎(chǔ)
很多小伙伴都說自己想做數(shù)據(jù)產(chǎn)品經(jīng)理,想做人工智能產(chǎn)品經(jīng)理。不論是人工智能還是大數(shù)據(jù)產(chǎn)品經(jīng)理都是需要和數(shù)據(jù)打交道的,想做人工智能首先就要學(xué)習(xí)機(jī)器學(xué)習(xí),機(jī)器本身就需要大量的數(shù)據(jù)進(jìn)行喂養(yǎng)才能達(dá)到學(xué)習(xí)的效果。而大部分的數(shù)據(jù)來源都是公司的數(shù)據(jù)倉庫,SQL語言可以幫你了解機(jī)器學(xué)習(xí)的指標(biāo)體系構(gòu)建和特征提取。
3、高效處理數(shù)據(jù)
產(chǎn)品經(jīng)理日常和數(shù)據(jù)打交道的場景很多。大部分同學(xué)可能都是通過EXCEl進(jìn)行數(shù)據(jù)的可視化,比如做數(shù)據(jù)透視表這些。但是如何從多張表執(zhí)行繁雜的“連接”操作和“分組”后“選擇”需要的字段,這些EXCEl實現(xiàn)不了,但是對于SQL來說就是一句話的事情。
SQL實例講解
1、數(shù)據(jù)庫單表查詢
1.1 基本的查詢語法
select 列名 ---查詢指定要顯示的字段;如果要查看所有的列,則用*號表示
From 表A ---選擇要查詢的表
where 限制條件 ---各種過濾條件,例如:大于,小于等
Group by ---按指定列名進(jìn)行分組統(tǒng)計。比如今天新增了多少名會員,今天形成了多少筆訂單
Having 列名 ---對分組統(tǒng)計的結(jié)果進(jìn)行限制。主要用來做顧慮。比如我統(tǒng)計每天的訂單總數(shù)是多少,統(tǒng)計出來以后,我想知道訂單總數(shù)大于100 的是多少,主要對Group by統(tǒng)計之后的數(shù)據(jù)進(jìn)行過濾
Order by 列名 ---對查詢結(jié)果進(jìn)行排序(ASC升序,Desc降序),默認(rèn)是升序
Limit N ---給出N條數(shù)據(jù)
1.2 實例講解
比如訂單 by_order表結(jié)構(gòu):

例子1:查詢表前10行數(shù)據(jù)

例子2:找出訂單金額大于200的顧客

如果會員重復(fù)怎么辦呢?比如同個會員買了兩次,每次金額都大于200,但我只想知道買過的金額大于200的會員有哪些,這個時候該怎么辦呢?
答案是可以用distinct去重。

例子3:找出訂單金額大于20小于200的顧客

例子4:按照訂單金額進(jìn)行排序

如果你想降序排列

1.3 匯總:group by
實際工作中的你也不會只看訂單明細(xì),而需要看看每一天的訂單總額、每個顧客的每天購買金額這類數(shù)據(jù),那這種統(tǒng)計類的數(shù)據(jù)就需用到Group by了。
Group by 一定是跟著匯總函數(shù)一起使用
基本的匯總函數(shù)有以下幾項:
max() 統(tǒng)計最大
min() 統(tǒng)計最小
count() 計數(shù),如果需要去計算列去重,則count(distinct)
avg() 計算平均數(shù)
sum() 匯總
例子1:統(tǒng)計顧客的累計購買金額

例子2:統(tǒng)計各個顧客的每天購買金額

備注:as sum_money 和as as day_1 都是取別名用的。
如果不寫as sum_money,則顯示的是左邊的列表,如果加入as sum_money 則最終結(jié)果顯示的下圖右邊的表格

遇到不懂的技術(shù)問題怎么辦?
1、詢問技術(shù)
抽屜里常備一些零食,沒事給同事發(fā)一發(fā),平時多幫幫別人,下次向人請教,別人也愿意幫助你。
2、百度
能百度找到答案的問題都不是問題。不要懶,也不要輕易麻煩別人。在工作中也一樣,自己能解決的問題不要找領(lǐng)導(dǎo),除非拼盡全力也解決不了。
3、多實踐
掌握的技術(shù)知識還得在實踐中多練習(xí)。就像高中物理老師給我們上完課以后,我們需要通過大量的習(xí)題來鞏固知識一樣。學(xué)習(xí)到的這些知識還是得在實踐中多多練習(xí)。
