MySQL資料庫 - 使用聚合函式查詢
技術標籤:Educoder實訓之MySQL
第1關:COUNT( )函式
任務描述
本關任務:
1.使用COUNT()函式查詢資料表中總資料量,
2.使用COUNT()函式統計班級總人數。
相關知識
為了完成本關任務,你需要掌握:如何使用COUNT()函式。
COUNT()函式基本使用
COUNT()函式是用來統計記錄的總條數。
select count(/欄位名) from 資料表;
例子說明:
假設我們現在有一張表tb_dept;內容如下:
我們需要獲取整張表有多少條資料,那麼我們就可以使用COUNT()來查詢了。
那麼,現在同樣是這張表,我假若想知道301部門一共有少人,我們可以思考該怎麼查詢?
程式設計要求
根據提示,在右側編輯器Begin-End處補充程式碼:
我們為你提供了一張tb_class表,內容如下:
根據此表資料:
查詢該表中一共有多少條資料;
查詢此表中367 班有多少位學生,以班級id和對應人數格式輸出。
測試說明
平臺會對你編寫的程式碼進行測試:
預期輸出:
count(
*
)8
classid count(*)
367 5
開始你的任務吧,祝你成功!
參考程式碼:
USE School; #請在此處新增實現程式碼 ########## Begin ########## ########## 查詢該表中一共有多少條資料 ########## select count(*) from tb_class; ########## 查詢此表中367班有多少位學生 ########## select classid,count(*) from tb_class where classid=367; ########## End ##########
第2關:SUM( )函式
任務描述
本關任務:
1.使用SUM()函式查詢資料表中學生的總成績;
2.使用SUM()函式查詢語文課程中學生的總成績。
相關知識
為了完成本關任務,你需要掌握:如何使用SUM()函式。
SUM()函式基本使用
SUM()函式是對資料表的某列進行求和操作。
select sum(欄位名) from 資料表;
例子說明:
現在有一張tb_Salary表,內容如下:
假設場景公司老闆想知道公司總共給員工開了多少工資,則可以使用SUM()函式來進行統計了。
若想得知Tob同事在11月和12月的薪水一共有多少,加上where條件即可。
程式設計要求
根據提示,在右側編輯器Begin-End處補充程式碼,我們為你提供了一張tb_class表,內容如下:
根據此表資料:
查詢該表中學生的總成績;
查詢學生語文課程的總分數。
測試說明
平臺會對你編寫的程式碼進行測試:
預期輸出:
sum(score)
568
course sum(score)
語文 257
開始你的任務吧,祝你成功!
參考程式碼:
USE School;
#請在此處新增實現程式碼
########## Begin ##########
########## 查詢所有學生總分數 ##########
select sum(score) from tb_class;
########## 查詢學生語文科目的總分數 ##########
select course,sum(score) from tb_class where course='語文';
########## End ##########
第3關:AVG( )函式
任務描述
本關任務:使用AVG()函式查詢學生各科目的平均分數。
相關知識
為了完成本關任務,你需要掌握:如何使用AVG()函式。
AVG()函式基本使用
AVG()函式是對資料表的某列進行求平均值操作。
select avg(欄位名) from 資料表;
例子說明:
現在有一張tb_Salary表,內容如下:
假設場景,老闆想知道公司發給員工的薪水的平均值為多少,此時就可使用AVG()函式來計算了。
現在又想知道Nancy在11-12月份的薪水平均有多少,則可進行如下查詢:
程式設計要求
根據提示,在右側編輯器Begin-End處補充程式碼,我們為你提供了一張tb_class表,內容如下:
根據此表資料,查詢表中該班級三位同學語文和英語課程的平均分數以及對應的課程名。
測試說明
平臺會對你編寫的程式碼進行測試:
預期輸出:
course avg(score)
語文 85.66666666666667
course avg(score)
英語 104
開始你的任務吧,祝你成功!
參考程式碼:
USE School;
#請在此處新增實現程式碼
########## Begin ##########
########## 查詢學生語文科目的平均分數 ##########
select course,avg(score) from tb_class where course='語文';
########## 查詢學生英語科目的平均分數 ##########
select course,avg(score) from tb_class where course='英語';
########## End ##########
第4關:MAX( )函式
任務描述
本關任務:使用MAX()函式查詢各科中的最高分數。
相關知識
為了完成本關任務,你需要掌握:如何使用MAX()函式。
MAX()函式基本使用
MAX()函式是求某列的最大數值。
select max(欄位名) from 資料表;
例子說明:
現在有一張tb_Salary表,內容如下:
假設場景,老闆想知道公司在11-12月份中月薪最高的是多少,此時就可使用MAX()函式來統計了。
這樣就可以看到公司中月薪最高是多少了。我們也可查詢Carly在11-12月份中月薪最高是多少:
程式設計要求
根據提示,在右側編輯器Begin-End處補充程式碼,我們為你提供了一張tb_class表,內容如下:
根據此表資料,分別查詢語文和英語課程中的最高分數。
測試說明
平臺會對你編寫的程式碼進行測試:
預期輸出:
course max(score)
語文 92
course max(score)
英語 116
開始你的任務吧,祝你成功!
參考程式碼:
USE School;
#請在此處新增實現程式碼
########## Begin ##########
########## 查詢語文課程中的最高分數 ##########
select course,max(score) from tb_class where course='語文';
########## 查詢英語課程中的最高分數 ##########
select course,max(score) from tb_class where course='英語';
########## End ##########
第5關:MIN( )函式
任務描述
本關任務:使用MIN()函式查詢學生在各科中的最低分數。
相關知識
為了完成本關任務,你需要掌握:如何使用MIN()函式。
MIN()函式基本使用
MIN()函式是求某列的最小數值。
select min(欄位名) from 資料表
例子說明:
現在有一張tb_Salary表,內容如下:
假設場景,老闆想知道公司11-12月份中月薪最低的是多少,此時就可使用MIN()函式來統計了。
我們仍可以快速查出Tob在11-12月份中月薪最低時是多少:
程式設計要求
根據提示,在右側編輯器Begin-End處補充程式碼,我們為你提供了一張tb_class表,內容如下:
根據此表資料,分別查詢語文和英語課程中的最低分數。
測試說明
平臺會對你編寫的程式碼進行測試:
預期輸出:
course min(score)
語文 79
course min(score)
英語 95
開始你的任務吧,祝你成功!
參考程式碼:
USE School;
#請在此處新增實現程式碼
########## Begin ##########
########## 查詢語文課程中的最低分數 ##########
select course,min(score) from tb_class where course='語文';
########## 查詢英語課程中的最低分數 ##########
select course,min(score) from tb_class where course='英語';
########## End ##########