欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > 如何使用GROUP BY子句在SQL中對數據進行分組

如何使用GROUP BY子句在SQL中對數據進行分組

2020-08-07 17:35:18 | 來源:中培企業IT培訓網

處理數據的人都知道,對數據進行分組可能很麻煩。如果您正在使用電子表格或其他工具來對各種數據進行分組,請閱讀本教程并學習如何使用SQL更輕松地完成工作。我們將致力于營銷樣本數據。您是否曾經遇到過需要分析數據并以不同于存儲數據的形式呈現結果的情況?在本教程中,您將了解在對SQL中的數據進行分組時,SQL對有效的數據操作有多大幫助。

  問題

  情境

您在全球范圍內的數字有影響力營銷機構工作。該機構在世界各地都有分支機構,CMO已決定進行促銷計劃活動。該計劃是在每個地點舉辦一個論壇,有許多影響者參加。

每個有影響力的人都有一個經理,經理在活動期間照顧有影響力的人,提供信息并處理解決方案。一位經理一次只能照顧一位影響者。擁有不只一位影響者的管理者將必須聘請一名活動助理。

  已要求您提供以下信息:

每個位置的影響者數量(以確定事件的規模)

每個位置的每個經理的影響者數量(以檢查必須招聘多少活動助理)

此信息內部存儲在代理商的SQL數據庫中,該數據庫包含一個表格,其中包含有關影響者的數據。

您的工作是分析存儲在影響者表中的數據,并將所需信息提供給CMO。

  樣本數據表

下表命名為 influencer 并包含您將在整個教程中使用的示例數據。

為了以圖形方式顯示分組過程,您必須按位置和impacter_manager對樣本數據進行排序。的influencer 表數據將用作解釋SQL中數據分組過程的起點。

讓我們從以下查詢開始:

SELECT *

FROM influencer

ORDER BY location, influencer_manager

現在 influencer 表格看起來像這樣:

如您所見,表中的數據按升序排序,首先是按位置,然后是有影響力的經理。

  什么是SQL GROUP BY子句?

CMO定義的任務都需要數據分組。在SQL中,數據分組使用GROUP BY 條款。

SQL GROUP BY允許您根據定義的條件對數據進行分組。您可以按一個或多個表列對單個數據進行分組。要正確進行分組,您通常需要將匯總函數應用于“SELECT 聲明。

  GROUP BY子句的語法

的語法 GROUP BY 子句如下:

SELECT count(column_name1), column_name2, column_name3, ... ,

FROM table_name

WHERE condition

GROUP BY column_name2, column_name3, ... ,

ORDER BY column_name2, column_name3, ... ,

在語法方面,請務必記住GROUP BY子句在SELECT語句中的位置。始終在FROM和/或WHERE子句之后和ORDER BY子句之前如果存在編寫GROUP BY語句。

如您所見,要使用 GROUP BY子句,您需要了解SQL查詢數據的基礎。如果您想重新學習這些基礎知識,請看一些在線課程。

有很多Internet資源可以學習SQL,例如Udemy,Coursera和edX,但是它們通常缺乏交互性,對于初學者來說可能太過挑戰。

我建議您從一開始就可以獲得實踐代碼編寫經驗的站點,例如Vertabelo Academy的SQL Basics。

您會驚訝于通過練習可以進步多快!

如果您已經熟悉基本的寫作 SELECT語句,學習如何在SQL中對數據進行分組將是小菜一碟。讓我們看看如何GROUP BY 在實踐中可行!

SQL GROUP BY示例

現在該解決場景中提出的任務了。首先,您必須編寫一個基本的GROUP BY查詢。之后,您將通過一個稍微復雜的示例來查看如何對多個表列進行分組。

  任務1:獲取每個位置的影響者數量

查詢:

SELECT location, count(location) as number_of_influencers

FROM influencer

GROUP BY location

ORDER BY location

讓我們仔細看看構建以上查詢的過程:

1.選擇位置列。我們將使用此列將您的數據分組。

SELECT location

FROM influencer

2.通過將COUNT函數應用到表列之一中,將另一列添加到SELECT語句中,以獲取影響者數量。

由于使用COUNT函數對表行進行計數,因此將其應用于哪個表列都沒有關系。

SELECT location, count(location) as number_of_influencers

FROM influencer

3.如果沒有GROUP BY子句,則先前的查詢將不起作用,因為它包含聚合函數。因此,插入GROUP BY子句,然后使用location列進行分組。

由于該列包含五個不同的值,因此最終查詢結果將具有五行。

SELECT location, count(location) as number_of_influencers

FROM influencer

GROUP BY location

下表顯示了如何進行分組:根據位置列中的不同值對數據進行分組,其中每個繪制的矩形均包含特定位置的數據。換句話說,每個矩形代表一個數據組。

COUNT函數將計算每個組中的行數,并返回某個位置中有影響力的人數。

4.應用 ORDER BY 位置列上的子句可根據該列中的值以升序對最終查詢結果進行排序。

SELECT location, count(location) as number_of_influencers

FROM influencer

GROUP BY location

ORDER BY location

查詢結果:

  任務2:獲取每個地點每個經理的影響者數量

讓我們驗證一下經理是否必須為該論壇雇用助手。

查詢:

SELECT influencer_manager, location, count(influencer_name) as number_of_influencers

FROM influencer

GROUP BY influencer_manager, location,

ORDER BY influencer_manager

現在,我們將仔細研究構建以上查詢的過程:

1.SELECT 的 influencer_manager 和 location列; 您將使用這些列將數據分組。

SELECT influencer_manager, location,

FROM influencer

2.與前面的示例一樣,通過將COUNT函數應用于表列之一來向SELECT語句添加另一列(以獲取每個管理者的影響者數)。

SELECT influencer_manager, location, count(influencer_name) as number_of_influencers

FROM influencer

3.同樣,如果沒有GROUP BY子句,則上一步中的查詢將不起作用,因為它包含聚合函數。現在,您應該將GROUP BY子句同時應用于Impactr_manager和location列。

因此,首先,您需要按經理對數據進行分組。接下來,您可以按位置對這些經理進行分組,從而有效地在位置組中創建經理子組。

SELECT influencer_manager, location, count(influencer_name) as number_of_influencers

FROM influencer

GROUP BY influencer_manager, location

的 COUNT 函數將計算每個組的子組中的行,并返回每個位置的每個管理員的影響者數量。

4.在influencer_manager列上應用ORDER BY子句,以按經理的姓名升序對查詢結果進行排序。

SELECT influencer_manager, location, count(influencer_manager) as number_of_influencers

FROM influencer

GROUP BY influencer_manager, location

ORDER BY influencer_manager

查詢結果:

如您所見,有些經理擁有不只一名本地影響者,有些經理則擁有來自世界各地的影響者。

有了這些知識,我們現在可以例如為必須決定只參加一個活動地點的招聘經理助理或現場經理計劃預算。想了解更多關于SQL數據庫的信息,請繼續關注中培偉業。

標簽: SQL 數據庫
主站蜘蛛池模板: 真实乱子伦露脸自拍 | 国产精品无码免费专区午夜 | 久久免费毛片大全 | 精品无码久久久久久久久 | 少妇高潮太爽了在线播放 | 男人的好看免费观看在线视频 | 免费少妇a级毛片人成网 | 在线观看热码亚洲av每日更新 | 国产精华液一线二线三线区别 | 久久精品国产视频在热 | 中文字幕一区二区三区门四区五区 | 亚洲蜜桃V妇女 | 国产精品专区在线 | 国产特黄特级AAAAA片 | 水蜜桃视频免费在线观看 | 在出租屋里被强高h | 国产精品av久久久久久久久久 | 偷偷碰偷偷鲁免费视频 | 国产会所在线观看 | FREEZEFRAME丰满少妇 | 午夜男女XX00视频福利 | 国产精品一区在线观看你懂的 | 闺蜜在寝室用SM调教我 | 久久人妻无码一区二区三区AV | 欧美人与动人物牲交免费观看久久 | 出差我被公高潮A片久久 | 色多多WWW视频在线观看免费 | 国产区在线视频 | 女性自慰网站免费看WW | 37pao强力打造高清视频 | 人人爽人人片人人片av | 太刺激了国语精彩对白 | 最新国产av无码专区亚洲 | 中文字幕在线无码一区二区三区 | 欧美二区三区视频 | 欧美精品一区二区性色 | 欧美精品国外破除大片扒开特写 | 国产无遮挡又爽又黄大胸免费 | 久久久久蜜桃精品成人片 | 水蜜桃无码视频在线观看 | 最新一区二区三区 |