
?數數據分析師吐槽??是SQLBoy,但我好羨慕他們...
?末掃海報?維碼領【MySQL安裝包+SQL直播預習題】
圖?源于?絡
眼看著,10?過去了?半,?9銀10的招聘季就要結束了。
各位準數據分析師們的?試進度如何?
相信?家都知道,?職數據分析師需要經歷兩道專業的?試關卡:業務?+技術?
今天,Amber就來和?家談下兩道關卡中的技術?。
數據分析師在?常的?作中,從數據庫中取數、數據處理、清洗可以說是占?了80%的?作時間,真正的分析過程也就
只有剩余的20%。
因此,作為取數必備的?具語?SQL,是數據分析技術?中最常考、必考的題?。
這就直接導致了,許多學藝不精的SQL新?,提前退出了offer的爭奪...
所以說,SQLBoy也不是那么好當的
接下來,Amber來為?家梳理下SQL?試中的?秘訣~
1
80%的SQL題都在考察的語法是什么?
為?便?家理解每個函數的作?,先建?個表,后?以這個為?例。
如果有千萬?戶數據,想知道有多少去重的?戶數?—去重distinct
--羅列不同的id
lectdistinctidfromtable_1
--統計不同的id的個數
lectcount(distinctid)fromtable_1
--優化版本的countdistinct
lectcount(*)from
(lectdistinctidfromtable_1)tb
distinct會對結果集去重,對全部選擇字段進?去重,并不能針對其中部分字段進?去重。使?countdistinct進?去重統
計會將reducer數量強制限定為1,?影響效率,因此適合改寫為?查詢。
想分性別進?統計,看看男?各多少?—聚合函數和groupby
想分性別進?統計,看看男?各多少?—聚合函數和groupby
--統計不同性別(F、M)中,不同的id個數
lectcount(distinctid)fromtable_1
groupbyx
--其它的聚合函數例如:max/min/avg/sum
--統計最?/最?/平均年齡
lectmax(age),min(age),avg(age)from
table_1
groupbyid
聚合函數幫助我們進?基本的數據統計,例如計算最?值、最?值、平均值、總數、求和。
只想查看A公司的男??數數據?—篩選where/having
--統計A公司的男??數
lectcount(distinctid)fromtable_1
wherecompany='A'
groupbyx
--統計各公司的男性平均年齡,并且僅保留平均年齡30歲以上的公司
lectcompany,avg(age)fromtable_1
wherex='M'
groupbycompany
havingavg(age)>30;
希望查詢結果從?到低/從低到?排序?—排序orderby
--按年齡全局倒序排序取最年邁的10個?
lectid,agefromtable_1orderbyageDESC
limit10
將數值型的變量轉化為分類型的變量?—cawhen條件函數
--收?區間分組
lectid,
(cawhenCAST(salaryasfloat)<50000Then'0-5萬'
whenCAST(salaryasfloat)>=50000andCAST(salaryasfloat)<100000then'5-10萬'
whenCAST(salaryasfloat)>=100000andCAST(salaryasfloat)<200000then'10-20萬'
whenCAST(salaryasfloat)>200000then'20萬以上'
elNULLend
fromtable_1;
ca函數的格式為(cawhen條件1thenvalue1elnullend),其中el可以省,但是end不可以省。
在這個例??也穿插了?個CAST的?法,它常?于string/int/double型的轉換。
?字符串
concat(A,B...)返回將A和B按順序連接在?起的字符串。
如:concat('foo','bar')返回'foobar'
lectconcat('www','.iteblog','.com')from
iteblog;
--得到
split(str,regex)?于將string類型數據按regex提取,分隔后轉換為array。
--以","為分隔符分割字符串,并轉化為array
Selectsplit("1,2,3",",")asvalue_arrayfromtable_1;
--結合arrayindex,將原始字符串分割為3列
lectvalue_array[0],value_array[1],value_array[2]from
(lectsplit("1,2,3",",")asvalue_arrayfromtable_1)t
substr(str,0,len)截取字符串從0位開始的長度為len個字符。
lectsubstr('abcde',3,2)from
iteblog;
--得到cd
篇幅有限,先為?家整理這么多,多進?練習,多進?組合使?,效果會更好~
如果想了解更多有關SQL的知識,請移步以下?章:(點擊跳轉)
2
SQL同列數據操作你會嗎?
實際?作中,我們進?SQL取數,經常使?多表聯查,?查詢、分組聚合計算等,往往我們的操作模式都是針對不同
列,也就是不同字段進?相關操作。
但我們很少針對同列數據進?操作,因為我們知道同列數據沒辦法進?相關計算,如果想要實現必須轉換成兩列甚?多
列才可以,這樣的操作相對?煩。
?試?旦被問到,很容易瞬間懵掉,回答不好,影響?試效果。
?家看看下?的這三道涉及同列操作的問題,你會做嗎?
(習題數據請掃?末海報?維碼領取)
是不是多少有些?困惑呢?
以上三道問題的答案,將在今天20:30,由愛數據學院特邀講師Alisa?師打造《數據分析SQL?試題:如何針對同列數
據進?操作》的專題直播中為你在線解答!
?伙伴們可提前安裝好MySQL,等待直播喲,具體的安裝包+教程,請掃?末海報?維碼領取!
講師介紹
這門課有什么?
?SQL數據分析?試題介紹
?模擬?試題實際業務場景及解題思路
?按照解題思路講解如何編寫SQL語句
實戰案例講解SQL?試,讓你?試不慌張
6年經驗名師講解,快來預約吧!
掃碼獲取直播鏈接
為什么聽這門課?
理由?:少有的SQL技術?專題直播,1個?時的直播不光可以收獲SQL的?貨知識,還可以獲得?師針對SQL?試的
專業建議,讓你?試不踩坑。
理由?:實戰案例在線講解,模擬?試實際業務場景,梳理解題思路,編寫SQL語句,真正掌握同列數據操作。
適合?群
?準備轉?數據分析的同學
?有?定MySQL經驗,正在準備?試的同學
?即將?向職場的新?,未來想從事數據分析?向的同學
專業?試建議+?貨講解,1?時直播全搞定
0元課程就等你來,掃碼占位吧!
掃碼獲取直播鏈接
愛數據·10?數據分析專題直播
直播主題:數據分析SQL?試題:如何針對同列數據進?操作
內容劇透:
?SQL數據分析?試題介紹
?模擬?試題實際業務場景及解題思路
?按照解題思路講解如何編寫SQL語句
直播時間:10?15?今天20:30
掃碼回復
預約直播
?即預約本次直播!
本文發布于:2023-03-10 21:59:01,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1678456741135616.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:好羨慕.doc
本文 PDF 下載地址:好羨慕.pdf
| 留言與評論(共有 0 條評論) |