自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用于數(shù)據(jù)分析的8個(gè)SQL技術(shù)

數(shù)據(jù)庫(kù) SQL Server 大數(shù)據(jù)
SQL是數(shù)據(jù)科學(xué)專業(yè)人員軍械庫(kù)中的一個(gè)關(guān)鍵齒輪。這是經(jīng)驗(yàn)之談,如果你還沒(méi)有學(xué)會(huì)SQL,你就不能指望在分析或數(shù)據(jù)科學(xué)領(lǐng)域取得成功。

 介紹

SQL是數(shù)據(jù)科學(xué)專業(yè)人員軍械庫(kù)中的一個(gè)關(guān)鍵齒輪。這是經(jīng)驗(yàn)之談,如果你還沒(méi)有學(xué)會(huì)SQL,你就不能指望在分析或數(shù)據(jù)科學(xué)領(lǐng)域取得成功。

為什么SQL如此重要?

隨著我們進(jìn)入新的十年,我們生產(chǎn)和消費(fèi)數(shù)據(jù)的速度正在一天一天的飆升。

為了根據(jù)數(shù)據(jù)做出明智的決策,世界各地的組織都在聘請(qǐng)數(shù)據(jù)專業(yè)人士,如業(yè)務(wù)分析師和數(shù)據(jù)科學(xué)家,從海量的數(shù)據(jù)寶庫(kù)中挖掘信息。

其中一個(gè)最重要的工具就是SQL!

[[334988]]

結(jié)構(gòu)化查詢語(yǔ)言(SQL)已經(jīng)存在了幾十年。它是一種編程語(yǔ)言,用于管理關(guān)系數(shù)據(jù)庫(kù)中保存的數(shù)據(jù)。

世界各地的大多數(shù)大公司都在使用SQL。數(shù)據(jù)分析員可以使用SQL訪問(wèn)、讀取、操作和分析數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),并生成有用的信息,以推動(dòng)明智的決策過(guò)程。

在本文中,我將討論8種SQL技術(shù),這些技術(shù)將使你為任何高級(jí)數(shù)據(jù)分析問(wèn)題做好準(zhǔn)備。請(qǐng)記住,本文假設(shè)你對(duì)SQL有非?;镜牧私?。

目錄

  • 了解數(shù)據(jù)集
  • SQL技術(shù)1:計(jì)算行和項(xiàng)
  • SQL技術(shù)2:聚合函數(shù)
  • SQL技術(shù)3:極值識(shí)別
  • SQL技術(shù)4:數(shù)據(jù)切片
  • SQL技術(shù)5:限制數(shù)據(jù)
  • SQL技術(shù)6:數(shù)據(jù)排序
  • SQL技術(shù)7:過(guò)濾模式
  • SQL技術(shù)8:分組、匯總數(shù)據(jù)和分組過(guò)濾

了解數(shù)據(jù)集

學(xué)習(xí)數(shù)據(jù)分析的最好方法是什么?通過(guò)在一個(gè)數(shù)據(jù)集上執(zhí)行它!

為此,我創(chuàng)建了一個(gè)零售商店的虛擬數(shù)據(jù)集??蛻魯?shù)據(jù)表由ConsumerDetails表示。

我們的數(shù)據(jù)集由以下列組成:

  • Name –消費(fèi)者的名稱
  • Locality –客戶所在地
  • Total_amt_spend –消費(fèi)者在商店中花費(fèi)的總金額
  • Industry –它表示消費(fèi)者所屬的行業(yè)

注:我們將使用MySQL5.7進(jìn)行實(shí)驗(yàn)。你可以從這里下載

https://dev.mysql.com/downloads/mysql/5.7.html

 

SQL技術(shù)1–計(jì)算行和項(xiàng)

Count函數(shù)

我們將從最簡(jiǎn)單的查詢開始分析,即計(jì)算表中的行數(shù)。我們將使用函數(shù)COUNT()來(lái)完成此操作。

 

太好了!現(xiàn)在我們知道表中的行數(shù)是10。在一個(gè)小的測(cè)試數(shù)據(jù)集上使用這個(gè)函數(shù)似乎沒(méi)用。但是當(dāng)你的行數(shù)達(dá)到數(shù)百萬(wàn)時(shí),它會(huì)有很大的幫助!

Distinct函數(shù)

很多時(shí)候,我們的數(shù)據(jù)表中充滿了重復(fù)的值。為了獲得獨(dú)一的值,我們使用了不同的函數(shù)。

在我們的數(shù)據(jù)集中,我們?nèi)绾握业娇蛻羲鶎俚男袠I(yè)?

你猜對(duì)了。我們可以通過(guò)使用DISTINCT函數(shù)來(lái)實(shí)現(xiàn)這一點(diǎn)。


你甚至可以使用count和distinct一起計(jì)算唯一行的數(shù)量。你可以參考以下查詢:

 

SQL技術(shù)2–聚合函數(shù)

聚合函數(shù)是任何數(shù)據(jù)分析的基礎(chǔ)。它們?yōu)槲覀兲峁┝藬?shù)據(jù)集的概述。我們將討論的一些函數(shù)是–SUM()、AVG()和STDDEV()。

SUM函數(shù)

我們使用SUM()函數(shù)計(jì)算表中數(shù)值列的和。

我們來(lái)計(jì)算一下每位顧客的消費(fèi)總額:

 

在上面的例子中,sum_all是存儲(chǔ)sum值的變量。消費(fèi)者的消費(fèi)總額是12560盧比。

AVG函數(shù)

AVG()函數(shù)計(jì)算平均值。讓我們找出消費(fèi)者對(duì)我們零售店的平均支出:


顧客在零售店的平均消費(fèi)額為1256盧比。

STDDEV函數(shù)

如果你查看了數(shù)據(jù)集,然后查看了消費(fèi)者的平均支出值,你會(huì)發(fā)現(xiàn)有些東西遺漏了。平均值并不能提供完整的理解,所以讓我們找到另一個(gè)重要的指標(biāo)——標(biāo)準(zhǔn)差。函數(shù)為STDDEV()。

 

標(biāo)準(zhǔn)差為829.7,這意味著消費(fèi)者的支出之間存在很大差距!

SQL技術(shù)3–極值識(shí)別

下一種類型的分析是確定極值,這將有助于你更好地理解數(shù)據(jù)。

Max函數(shù)

可以使用MAX()函數(shù)標(biāo)識(shí)最大數(shù)值。讓我們看看如何應(yīng)用它:

 

消費(fèi)者在零售店的最高消費(fèi)額是3000盧比。

Min函數(shù)

與max函數(shù)類似,我們有MIN()函數(shù)來(lái)標(biāo)識(shí)給定列中的最小數(shù)值:

 

零售店消費(fèi)者的最低消費(fèi)額是350盧比。

SQL技術(shù)4–數(shù)據(jù)切片

現(xiàn)在,讓我們關(guān)注數(shù)據(jù)分析中最重要的部分之一——數(shù)據(jù)切片。分析的這一部分將構(gòu)成高級(jí)查詢的基礎(chǔ),并幫助你根據(jù)某種條件檢索數(shù)據(jù)。

  • 假設(shè)零售店希望找到來(lái)自某個(gè)地方的客戶,特別是Shakti Nagar和Shanti Vihar地區(qū)。

 

太好了,我們有3個(gè)客戶!我們使用WHERE子句根據(jù)消費(fèi)者應(yīng)該居住在當(dāng)?shù)氐臈l件篩選出數(shù)據(jù)—Shakti Nagar和Shanti Vihar。

我沒(méi)有在這里使用OR條件。相反,我使用了IN運(yùn)算符,它允許我們?cè)赪HERE子句中指定多個(gè)值。

  • 我們需要找到那些居住在特定地區(qū)(Shakti Nagar和Shanti Vihar)且消費(fèi)金額超過(guò)2000盧比的客戶。 

在我們的數(shù)據(jù)集中,只有Shantanu和Natasha滿足這些條件。由于這兩個(gè)條件都需要滿足,所以和條件更適合這里。讓我們看看另一個(gè)例子。

  • 這一次,零售店希望找回所有消費(fèi)在1000盧比到2000盧比之間的消費(fèi)者,以便推出特別的營(yíng)銷優(yōu)惠。

 

另一種寫同樣語(yǔ)句的方法是:

只有Rohan在滿足這個(gè)標(biāo)準(zhǔn)!

太好了!我們已經(jīng)走到一半了。讓我們?cè)谄袼@得的知識(shí)基礎(chǔ)上再接再厲。

SQL技術(shù)5–限制數(shù)據(jù)

Limit

假設(shè)我們要查看由數(shù)百萬(wàn)條記錄組成的數(shù)據(jù)表。我們不能直接使用SELECT語(yǔ)句,因?yàn)檫@會(huì)將整個(gè)表轉(zhuǎn)儲(chǔ)到我們的屏幕上,這既麻煩又計(jì)算密集。我們可以使用Limit:

 

上面的SQL命令幫助我們顯示表的前5行。

OFFSET

如果你只想選擇第四行和第五行,你會(huì)怎么做?我們將使用OFFSET。OFFSET將跳過(guò)指定的行數(shù)。讓我們看看它是如何工作的:

 

SQL技術(shù)6–數(shù)據(jù)排序

對(duì)數(shù)據(jù)進(jìn)行分類有助于我們對(duì)數(shù)據(jù)進(jìn)行觀察。我們可以使用關(guān)鍵字ORDER by來(lái)執(zhí)行排序過(guò)程。

ORDER BY

關(guān)鍵字可用于按升序或降序?qū)?shù)據(jù)進(jìn)行排序。默認(rèn)情況下,ORDER BY關(guān)鍵字按升序?qū)?shù)據(jù)排序。

讓我們看一個(gè)示例,其中我們根據(jù)Total_amt_spend列按升序?qū)?shù)據(jù)進(jìn)行排序:

 

要將數(shù)據(jù)集按降序排序,可以按照以下命令進(jìn)行操作:

 

SQL技術(shù)7–過(guò)濾模式

在前面的部分中,我們學(xué)習(xí)了如何根據(jù)一個(gè)或多個(gè)條件過(guò)濾數(shù)據(jù)。在這里,我們將學(xué)習(xí)匹配指定的模式列。為此,我們將首先了解LIKE運(yùn)算符和通配符。

LIKE

LIKE在WHERE子句中用于搜索列中的指定模式。

通配符

通配符用于替換字符串中的一個(gè)或多個(gè)字符。它們與LIKE運(yùn)算符一起使用。最常見的兩個(gè)通配符是:

  • %,表示0個(gè)或更多個(gè)字符
  • _,它代表一個(gè)字符

在我們的虛擬零售數(shù)據(jù)集中,假設(shè)我們想要所有以“Nagar”結(jié)尾的地區(qū)?;c(diǎn)時(shí)間來(lái)理解問(wèn)題陳述,并思考如何解決這個(gè)問(wèn)題。

讓我們?cè)囍堰@個(gè)問(wèn)題分解一下。我們需要以“Nagar”結(jié)尾的所有位置,并且在這個(gè)特定字符串之前可以有任意數(shù)量的字符。因此,我們可以在“Nagar”之前使用“%”通配符:

 

太棒了,我們有6個(gè)地方以這個(gè)名字結(jié)尾。注意,我們使用LIKE操作符來(lái)執(zhí)行模式匹配。

接下來(lái),我們將嘗試解決另一個(gè)基于模式的問(wèn)題。我們需要第二個(gè)字符在他們各自的名字中有“a”的消費(fèi)者的名字。

再一次,我建議你花點(diǎn)時(shí)間來(lái)理解這個(gè)問(wèn)題,并想出一個(gè)解決它的邏輯。

讓我們把問(wèn)題分解一下。這里,第二個(gè)字符需要是“a”。第一個(gè)字符可以是任何字符,所以我們用通配符_。

在第二個(gè)字符之后,可以有任意數(shù)量的字符,因此我們將這些字符替換為通配符“%”。最終的模式匹配如下所示:

 

我們有6個(gè)人滿足了這個(gè)條件。

SQL技術(shù)8–分組、匯總數(shù)據(jù)和分組篩選

我們終于到了SQL中最強(qiáng)大的分析工具之一,使用GROUP BY語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行分組。

這個(gè)語(yǔ)句最有用的應(yīng)用是尋找分類變量的分布。這是通過(guò)使用GROUPBY語(yǔ)句和聚合函數(shù)(如–COUNT、SUM、AVG等)來(lái)完成的。

讓我們用一個(gè)問(wèn)題陳述來(lái)更好地理解這一點(diǎn)。零售商店希望找到與其所屬行業(yè)對(duì)應(yīng)的客戶數(shù)量:

 

我們注意到,屬于不同行業(yè)的客戶數(shù)量或多或少是相同的。因此,讓我們改成根據(jù)客戶所屬行業(yè)分組,計(jì)算出他們的支出總額:

 

我們可以觀察到,消費(fèi)金額最大的是屬于制造業(yè)的客戶。這看起來(lái)有點(diǎn)容易,對(duì)吧?讓我們繼續(xù)更改要求,讓它變得更復(fù)雜。

現(xiàn)在,零售商希望找到總銷售額大于2500的行業(yè)。為了解決這個(gè)問(wèn)題,我們將再次根據(jù)行業(yè)數(shù)據(jù)進(jìn)行分組,然后使用HAVING子句。

HAVING

HAVING子句與WHERE子句類似,但僅用于過(guò)濾分組的數(shù)據(jù)。記住,它總是在group by語(yǔ)句之后。

我們只有3個(gè)類別滿足條件-航空,國(guó)防和制造業(yè)。但為了更清楚,我還將添加ORDER BY關(guān)鍵字,使其更直觀:

結(jié)尾

我很高興你做到了。這些是SQL中所有數(shù)據(jù)分析查詢的構(gòu)建知識(shí)。你還可以使用這些基礎(chǔ)知識(shí)來(lái)進(jìn)行高級(jí)查詢。在本文中,我使用了MySQL 5.7來(lái)建立示例。

我希望這些SQL查詢能夠幫助你分析復(fù)雜數(shù)據(jù)的日常生活。

 

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2019-08-22 09:08:53

大數(shù)據(jù)HadoopStorm

2018-08-23 17:15:10

編程語(yǔ)言Python數(shù)據(jù)分析

2015-03-05 14:24:00

大數(shù)據(jù)分析大數(shù)據(jù)大數(shù)據(jù)分析工具

2025-04-17 02:00:00

數(shù)據(jù)分析SQL大數(shù)據(jù)

2015-11-16 10:03:10

效率

2016-11-07 11:51:52

數(shù)據(jù)分析大數(shù)據(jù)

2016-11-08 12:38:37

數(shù)據(jù)流程思路

2021-06-30 20:49:15

SQL子查詢數(shù)據(jù)

2020-07-14 08:48:07

數(shù)據(jù)分析技術(shù)IT

2019-09-24 14:36:38

數(shù)據(jù)分析思維大數(shù)據(jù)

2023-10-04 00:17:00

SQL數(shù)據(jù)庫(kù)

2021-01-27 09:18:50

大數(shù)據(jù)數(shù)據(jù)收集大數(shù)據(jù)分析

2020-10-27 09:27:46

SQL分析數(shù)據(jù)

2023-01-28 10:09:00

Pandas數(shù)據(jù)分析Python

2023-08-22 17:59:23

數(shù)據(jù)分析

2021-06-29 07:04:39

SQL數(shù)據(jù)視圖

2013-05-09 09:35:00

Cloudmeter大數(shù)據(jù)

2019-12-19 15:07:24

軟件數(shù)據(jù)庫(kù)Linux

2019-09-10 11:31:16

Python數(shù)據(jù)分析表達(dá)式

2020-07-22 16:27:11

開源工具數(shù)據(jù)挖掘數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)