产品经理学SQL
最近在工作中需要查詢一些數據進行數據分析,又不好每次都麻煩開發小哥哥,于是只能動手自己查詢。今天就來聊聊如何取數。(其實嚴格意義上來說,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、多實踐
掌握的技術知識還得在實踐中多練習。就像高中物理老師給我們上完課以后,我們需要通過大量的習題來鞏固知識一樣。學習到的這些知識還是得在實踐中多多練習。
下一次我們將分享多表查詢,喜歡的小伙伴可關注微信公眾號:產品劉
有疑問的小伙伴也可以加微信:chanpin628進行交流。
PS:?轉發此篇文章到朋友圈或者是產品經理群,并截圖發給微信chanpin628,可以找我領取一份《用戶體驗要素》電子書。
更多干貨可關注微信公眾號:chanpinliu880
想學習更多關于產品、職場、心理、認知等干貨,可長按右邊二維碼,關注我們。
往期精彩文章
面試題,說說你理解的中臺
快手列表設計原來是遵循這個思路......
手把手教你做產品經理1.0
B端產品如何尋找競品
點擊“閱讀原文”
即可進行報名。
總結
- 上一篇: 【Cannot convert from
- 下一篇: rabbitMq自动创建队列