在MySQL中,我们可以使用多种函数来求平均值,以下是一些常用的函数:
1、AVG():计算某列的平均值,语法为:AVG(列名)
,要计算表students
中score
列的平均值,可以使用以下语句:
SELECT AVG(score) FROM students;
2、SUM()/COUNT():计算某列的总和除以记录数,得到平均值,语法为:SUM(列名)/COUNT(*)
,要计算表students
中score
列的平均值,可以使用以下语句:
SELECT (SUM(score)/COUNT(*)) FROM students;
3、MEDIAN():计算某列的中位数,语法为:MEDIAN(列名)
,要计算表students
中score
列的中位数,可以使用以下语句:
SELECT MEDIAN(score) FROM students;
4、PERCENTILE_CONT():计算某列的指定百分位数,语法为:PERCENTILE_CONT(0.5)
表示计算第50百分位数,要计算表students
中score
列的第50百分位数,可以使用以下语句:
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY score) FROM students;
5、PERCENTILE_DISC():计算某列的指定百分位数,语法为:PERCENTILE_DISC(0.5)
表示计算第50百分位数,要计算表students
中score
列的第50百分位数,可以使用以下语句:
SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY score) FROM students;
6、NTILE(n):将某列的记录分成n个组,并返回每组的第一个记录,语法为:NTILE(n)
,要将表students
中score
列的记录分成4组,并返回每组的第一个记录,可以使用以下语句:
SELECT score FROM students NTILE(4);
7、MODE():计算某列的众数,语法为:MODE()
,要计算表students
中score
列的众数,可以使用以下语句:
SELECT MODE() WITHIN GROUP (ORDER BY score) FROM students;
8、GROUP_CONCAT():将某列的所有记录连接成一个字符串,语法为:GROUP_CONCAT(列名 SEPARATOR ',')
,要将表students
中所有学生的姓名连接成一个字符串,使用逗号分隔,可以使用以下语句:
SELECT GROUP_CONCAT(name SEPARATOR ',') FROM students;
9、COUNT():计算某列的记录数,语法为:COUNT(列名)
,要计算表students
中有多少条记录,可以使用以下语句:
SELECT COUNT(*) FROM students;
10、MAX():返回某列的最大值,语法为:MAX(列名)
,要找到表students
中最高分数,可以使用以下语句:
SELECT MAX(score) FROM students;
11、MIN():返回某列的最小值,语法为:MIN(列名)
,要找到表`students
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/277382.html