close

最近在工作中需要查詢一些數據進行數據分析,又不好每次都麻煩開發小哥哥,於是只能動手自己查詢。今天就來聊聊如何取數。(其實嚴格意義上來說,SQL不能算是一門編程語言,只能算是一個取數工具。)

學習SQL的好處

1、不用每次都麻煩開發

找開發小哥哥給你查詢數據,你可能得等半天,而自己查詢的話,一兩分鐘的事情。即裝逼,又高效。

2、為轉型數據產品經理打下基礎

很多小夥伴都說自己想做數據產品經理,想做人工智能產品經理。不論是人工智能還是大數據產品經理都是需要和數據打交道的,想做人工智能首先就要學習機器學習,機器本身就需要大量的數據進行餵養才能達到學習的效果。而大部分的數據來源都是公司的數據倉庫,SQL語言可以幫你了解機器學習的指標體系構建和特徵提取。

3、高效處理數據

產品經理日常和數據打交道的場景很多。大部分同學可能都是通過EXCEl進行數據的可視化,比如做數據透視表這些。但是如何從多張表執行繁雜的「連接」操作和「分組」後「選擇」需要的字段,這些EXCEl實現不了,但是對於SQL來說就是一句話的事情。

SQL實例講解

1、數據庫單表查詢

1.1 基本的查詢語法

select 列名 ---查詢指定要顯示的字段;如果要查看所有的列,則用*號表示

From 表A ---選擇要查詢的表

where 限制條件 ---各種過濾條件,例如:大於,小於等

Group by ---按指定列名進行分組統計。比如今天新增了多少名會員,今天形成了多少筆訂單

Having 列名 ---對分組統計的結果進行限制。主要用來做顧慮。比如我統計每天的訂單總數是多少,統計出來以後,我想知道訂單總數大於100 的是多少,主要對Group by統計之後的數據進行過濾

Order by 列名 ---對查詢結果進行排序(ASC升序,Desc降序),默認是升序

Limit N ---給出N條數據

1.2 實例講解

比如訂單 by_order表結構:

例子1:查詢表前10行數據

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

如果會員重複怎麼辦呢?比如同個會員買了兩次,每次金額都大於200,但我只想知道買過的金額大於200的會員有哪些,這個時候該怎麼辦呢?

答案是可以用distinct去重。

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

例子4:按照訂單金額進行排序

如果你想降序排列

1.3 匯總:group by

實際工作中的你也不會只看訂單明細,而需要看看每一天的訂單總額、每個顧客的每天購買金額這類數據,那這種統計類的數據就需用到Group by了。

Group by 一定是跟着匯總函數一起使用

基本的匯總函數有以下幾項:

max() 統計最大

min() 統計最小

count() 計數,如果需要去計算列去重,則count(distinct)

avg() 計算平均數

sum() 匯總

例子1:統計顧客的累計購買金額

例子2:統計各個顧客的每天購買金額

備註:as sum_money 和as as day_1 都是取別名用的。

如果不寫as sum_money,則顯示的是左邊的列表,如果加入as sum_money 則最終結果顯示的下圖右邊的表格

遇到不懂的技術問題怎麼辦?

1、詢問技術

抽屜里常備一些零食,沒事給同事發一發,平時多幫幫別人,下次向人請教,別人也願意幫助你。

2、百度

能百度找到答案的問題都不是問題。不要懶,也不要輕易麻煩別人。在工作中也一樣,自己能解決的問題不要找領導,除非拼盡全力也解決不了。

3、多實踐

掌握的技術知識還得在實踐中多練習。就像高中物理老師給我們上完課以後,我們需要通過大量的習題來鞏固知識一樣。學習到的這些知識還是得在實踐中多多練習。


PMTalk建立了各城市的產品經理社群,經常會發放熱點產品的內測資格、還有工作里常用的數據、運營、產品設計模版、產品工作的相關設計、數據問題討論,歡迎你的加入。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()