SQL SELECT AVG

SQL SELECT AVG

AVG 是在 SQL 中的一个聚合函数,用于计算表中数值列的平均值。

SQL Avg() 函数的语法

SELECT AVG(Numerical_Column_Name) FROM Table_Name ;

两个SQL Avg函数的例子

例子1:本例描述了如何在SQL表中使用AVG函数。

首先,我们需要在数据库中创建一个新表,用于运行MIN函数。

以下CREATE TABLE语句创建了 Bikes_Details 表,包含五个字段:

CREATE TABLE Bikes_Details
(
Bike_Number INT PRIMARY KEY,
Bike_Model INT,
Bike_Name VARCHAR (50),
Number_of_Bikes INT NOT NULL
Bike_Price INT NOT NULL
) ;

下面的INSERT查询将车辆记录插入 Bikes_Details 表中:

INSERT INTO Bikes_Details (Bike_Number, Bike_Model, Bike_Name, Number_of_Bikes, Bike_Price) 
VALUES (2578, 2018, KTM, 3, 1500000),
(9258, 2019, Apache, 2, 3000000), 
(8233, 2018, Pulsar, 6, 900000),
(8990, 2018, RX100, 7, 700000),
(9578, 2020, Splender+, 6, 8000000),
(1258, 2021, Bullet, 2, 1500000),
(2564, 2019, Passion, 4, 6000000),
(2155, 2020, Livo, 8, 1800000);

以下SELECT查询显示了 Bikes_Details 表的数据:

SELECT * FROM Bikes_Details;
Bike_Number Bike_Model Bike_Name Number_of_Bikes Bike_Price
2578 2018 KTM 3 900000
9258 2019 Apache 2 1100000
8233 2018 Pulsar 6 900000
8990 2018 RX100 7 700000
9578 2020 Splender+ 6 8000000
1258 2021 Buller 2 1500000
2564 2019 Passion 4 6000000
2155 2020 Livo 8 1800000

以下查询从上述Bikes_Details表中找到Bike_Price列的平均值:

SELECT AVG(Bike_Price) As "Average of Bike's Price " FROM Bikes_Details;

输出:

SQL SELECT AVG

SQL AVG函数使用WHERE子句

SQL Avg()函数还可以与SELECT查询中的WHERE子句一起使用,用于计算筛选值的平均值。

AVG函数使用WHERE子句的语法

SELECT AVG(Numerical_Column_Name) FROM Table_Name WHERE [ Condition ];

SQL Avg函数使用WHERE子句的示例

以下查询使用CREATE TABLE语句创建了 College_Student_Details 表:

CREATE TABLE College_Student_Details
(
Student_ID INT NOT NULL, 
Student_Name varchar(100),
Student_Course varchar(50),
Student_Age INT, 
Student_Marks INT
); 

下面的SQL查询使用INSERT INTO语句将学生记录插入上述表中:

INSERT INTO College_Student_Details VALUES (101, Anuj, B.tech, 20, 88);
INSERT INTO College_Student_Details VALUES (102, Raman, MCA, 24, 98);
INSERT INTO College_Student_Details VALUES (104, Shyam, BBA, 19, 92);
INSERT INTO College_Student_Details VALUES (107, Vikash, B.tech, 20, 88);
INSERT INTO College_Student_Details VALUES (111, Monu, MBA, 21, 65);
INSERT INTO College_Student_Details VALUES (114, Jones, B.tech, 18, 93);
INSERT INTO College_Student_Details VALUES (121, Parul, BCA, 20, 97);
INSERT INTO College_Student_Details VALUES (123, Divya, B.tech, 21, 98);
INSERT INTO College_Student_Details VALUES (128, Hemant, MBA, 23, 90);
INSERT INTO College_Student_Details VALUES (130, Nidhi, BBA, 20, 65);
INSERT INTO College_Student_Details VALUES (132, Priya, MBA, 22, 99);
INSERT INTO College_Student_Details VALUES (138, Mohit, MCA, 21, 92);

让我们使用以下SELECT语句来查看上表的记录:

SELECT * FROM College_Student_Details;
Student_ID Student_Name Student_Course Student_Age Student_Marks
101 Anuj B.tech 20 88
102 Raman MCA 24 98
104 Shyam BBA 19 92
107 Vikash B.tech 20 88
111 Monu MBA 21 65
114 Jones B.tech 18 93
121 Parul BCA 20 97
123 Divya B.tech 21 98
128 Hemant MBA 23 90
130 Nidhi BBA 20 65
132 Priya MBA 22 99
138 Mohit MCA 21 88

以下AVG查询计算了上述表中大于90的 Student_Marks 的平均值:

SELECT AVG(Student_Marks) As "Average Student_Marks Greater 90" FROM College_Student_Details WHERE Student_Marks > 90;

输出:

SQL SELECT AVG

使用DISTINCT子句的SQL AVG函数

在SELECT语句中,带有DISTINCT子句的AVG函数计算列的不同值的平均值。

使用AVG函数与Distinct子句的语法如下所示:

SELECT AVG (DISTINCT (Column_Name)) FROM Table_Name;

AVG函数使用DISTINCT子句的示例

我们使用上述的College_Student_Details表来理解带有DISTINCT子句的AVG函数的概念。

下面的查询计算了上述College_Student_Details表中Student_Marks列的唯一值的平均值:

SELECT AVG (DISTINCT (Student_Marks)) AS "Average Distinct Student Marks"  FROM College_Student_Details;

输出:

SQL SELECT AVG

AVG函数与SQL GROUP BY子句

在某些情况下,我们需要在SELECT语句中使用GROUP BY子句与AVG函数。带有GROUP BY子句的AVG函数计算相同组的不同值的平均值。

使用DISTINCT子句与AVG函数的语法如下所示:

SELECT Column_Name_1, AVG(Column_Name) FROM Table_Name GROUP BY Column_Name_1;

AVG函数与GROUP BY子句的示例

让我们以上面的 College_Student_Details 表来理解使用GROUP BY子句的AVG函数的概念。

以下查询根据以上的College_Student_Details表,计算了每个课程的平均学生分数:

SELECT Student_Course, AVG(Student_Marks) FROM Table_Name GROUP BY Student_Course;

输出:

Student_Course AVG (Student_Marks)
B.tech 91
MCA 93
BBA 78
MBA 84
BCA 97

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程