第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

聚合函數(shù) MIN、MAX

MySQL 的常見的聚合函數(shù)有 AVG、COUNT、SUM、MIN、MAX,上一小節(jié)介紹了 AVG、COUNT、SUM 三種聚合函數(shù),本小節(jié)介紹如何使用 MIN、MAX 兩種聚合函數(shù),另外再介紹一下如何在 GROUP BY 中使用聚合函數(shù)。

1.MIN函數(shù)取最小值

以 teacher 表為例,先查所有 teacher 信息:

SELECT * FROM teacher;

查詢結(jié)果如下圖:

圖片描述

可以使用 MIN() 函數(shù)對結(jié)果集取年齡最小值的數(shù)據(jù):

SELECT MIN(age) FROM teacher;

執(zhí)行結(jié)果如下圖:

圖片描述

Tips:如上圖所示,MIN(age) 表示對結(jié)果集 age 列取最小值 29。

2.MAX函數(shù)取最大值

以 student 表為例,先查看所有 student 信息:

 SELECT * FROM student;

查詢結(jié)果如下圖:

圖片描述

可以使用 MAX() 函數(shù)對結(jié)果集取年齡最大值的數(shù)據(jù):

SELECT MAX(age) FROM student;

執(zhí)行結(jié)果如下圖:

圖片描述

Tips:如上圖所示,MAX(age) 表示對結(jié)果集 age 列取最大值 23。

3.GROUP BY HAVING

以 student_course、course、student 表內(nèi)連接查詢?yōu)槔?/p>

SELECT * 
FROM 
student_course a 
INNER JOIN 
student b 
ON a.student_id=b.id 
INNER JOIN course c 
ON a.course_id=c.id;

查詢結(jié)果如下圖:

圖片描述

使用 AVG 函數(shù)取分組數(shù)據(jù)平均年齡:

SELECT a.course_id,c.course_name,AVG(age) 
FROM 
student_course a 
INNER JOIN 
student b 
ON a.student_id=b.id 
INNER JOIN course c 
ON a.course_id=c.id
GROUP BY a.course_id,c.course_name;

執(zhí)行結(jié)果如下圖 :

圖片描述

可以使用 HAVING 對上述結(jié)果篩選,例如選出選課學(xué)生平均年齡大于 20 的課程數(shù)據(jù):

SELECT a.course_id,c.course_name,AVG(age) 
FROM 
student_course a 
INNER JOIN 
student b 
ON a.student_id=b.id 
INNER JOIN course c 
ON a.course_id=c.id
GROUP BY a.course_id,c.course_name
HAVING AVG(age) >= 20;

執(zhí)行結(jié)果如下圖:

圖片描述

Tips:如上圖所示,演示的是使用 AVG() 函數(shù)對分組數(shù)據(jù)進(jìn)行篩選,同理,可以分別使用 COUNT()、MIN()、MAX()、SUM() 這四種聚合函數(shù)取出分組的數(shù)據(jù),并且都可以使用 HAVING 后面的條件對分組聚合函數(shù)的值進(jìn)行篩選。

4. 小結(jié)

本小節(jié)介紹了如何使用 MIN、MAX 兩種聚合函數(shù)對查詢結(jié)果集進(jìn)行篩選,還介紹了如何在 GROUP BY中分組使用聚合函數(shù),并且使用 HAVING 后面的條件對分組數(shù)據(jù)進(jìn)行篩選,需要注意的是聚合函數(shù)產(chǎn)生的數(shù)據(jù)列最好重命名,這是因?yàn)楹蠖顺绦蛘Z言在處理這些數(shù)據(jù)時需要規(guī)范的字段名,例如:

SELECT AVG(age) AS teacher_avg_age FROM teacher;

查詢結(jié)果如下圖:

圖片描述