天天看點

sql order by 降序_産品經理學技術-SQL(1)

sql order by 降序_産品經理學技術-SQL(1)

最近在工作中需要查詢一些資料進行資料分析,又不好每次都麻煩開發小哥哥,于是隻能動手自己查詢。今天就來聊聊如何取數。(其實嚴格意義上來說,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表結構:

sql order by 降序_産品經理學技術-SQL(1)

例子1:查詢表前10行資料

sql order by 降序_産品經理學技術-SQL(1)

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

sql order by 降序_産品經理學技術-SQL(1)

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

答案是可以用distinct去重。

sql order by 降序_産品經理學技術-SQL(1)

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

sql order by 降序_産品經理學技術-SQL(1)

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

sql order by 降序_産品經理學技術-SQL(1)

如果你想降序排列

sql order by 降序_産品經理學技術-SQL(1)

1.3 彙總:group by

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

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

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

max() 統計最大

min() 統計最小

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

avg() 計算平均數

sum() 彙總

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

sql order by 降序_産品經理學技術-SQL(1)

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

sql order by 降序_産品經理學技術-SQL(1)

備注:as sum_money 和as as day_1 都是取别名用的。

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

sql order by 降序_産品經理學技術-SQL(1)

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

1、詢問技術

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

2、百度

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

3、多實踐

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

下一次我們将分享多表查詢,喜歡的小夥伴可關注微信公衆号:

chanpinliu880

有疑問的小夥伴也可以加微信:

chanpin628

進行交流。