SQL AVG 函数
一、SQL AVG 函数 语法
AVG 是 SQL 中的一个聚合函数,它返回表中整数列的平均值。
在SQL语言中,我们对表的列使用 AVG 函数,如下块所示:
SELECT AVG(column_Name) AS Alias_Name FROM Table_Name;
在这种语法中,我们必须定义要在其上执行 AVG 函数的表的名称和列。
二、SQL AVG 函数 示例
在这里,我们将创建一个新表,我们将通过该表对表的列执行 AVG 函数:
下面显示了在 SQL 中创建新表的语法:
CREATE TABLE Name_of_New_Table
(
First_Column_of_table Data Type (character_size of First Column),
Second_Column_of_table Data Type (character_size of the Second column ),
Third_Column_of_table Data Type (character_size of the Third column),
.......,
Last_Column_of_table Data Type (character_size of the Last column)
);
以下 CREATE 语句创建Product_Details表以存储产品的价格和数量:
CREATE TABLE Product_Details
(
Product_ID INT NOT NULL,
Product_Name Varchar(50),
Product_Quantity INT,
Purchasing_Price INT,
Selling_Price INT,
Release_Date Date,
Product_Rating INT
);
以下多个 INSERT 语句将产品记录及其销售和购买价格插入到 Product_Details 表中:
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (104, P1, 10.250, 945, NULL, 2022-04-30, NULL);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (202, P4, 15.500, 45, 75, 2022-01-28, 5);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (103, P2, 18.250, 25, NULL, 2022-02-18, 4);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (111, P7, 25.250, 5, 15, 2021-12-25, 9);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (210, P6, 15.500, 50, 70, 2021-10-15, NULL);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (212, P8, 19.750, 110, 250, 2022-01-28, 4);
INSERT INTO Product_Details (Product_ID, Product_Name, Product_ Quantity Purchasing_Price, Selling_Price, Release_Date, Product_Rating) VALUES (112, P10, 10.250, 550, 835, 2022-04-11, NULL);
以下 SELECT 语句显示上述Product_Details表的插入记录:
SELECT * FROM Product_Details;
输出结果为:
Product_ID | Product_Name | Product_Quantity | Purchasing_Price | Selling_Price | Release_Date | Category | Product_Rating |
---|---|---|---|---|---|---|---|
104 | P1 | 10.250 | 945 | NULL | 2022-04-30 | Cloths | NULL |
202 | P4 | 15.500 | 45 | 75 | 2022-01-28 | Electrical | 5 |
103 | P2 | 18.250 | 25 | NULL | 2022-02-18 | Toys | 4 |
111 | P7 | 25.250 | 5 | 15 | 2021-12-25 | Cloths | 9 |
210 | P6 | 15.500 | 50 | 70 | 2021-10-15 | Electrical | NULL |
212 | P8 | 19.750 | 110 | 250 | 2022-01-28 | Cloths | 4 |
112 | P10 | 10.250 | 550 | 835 | 2022-04-11 | Toys | NULL |
查询 1:以下 SELECT 查询将 AVG 函数与上述 Product_Details 表的 Product_Quantity 列一起使用:
SELECT AVG(Product_Quantity) AS Average_ofproductquantity FROM Product_Details;
输出结果为:
Average_ofproductquantity |
---|
16.39 |
查询 2:以下 SELECT 查询将 AVG 函数与上述 Product_Details 表的 Selling_Price 列一起使用:
SELECT AVG(Selling_Price) AS Average_ofsellingpriceproducts FROM Product_Details;
此查询返回产品的平均售价。
输出结果为:
Average_ofsellingpriceproducts |
---|
249 |
查询 3:以下 SELECT 查询将 AVG 函数与上述 Product_Details 表的 Product_Rating 列一起使用:
SELECT AVG(Product_Rating) AS Average_of_productrating FROM Product_Details;
此查询返回 Product_rating 列的平均值。
输出结果为:
Average_ofofproductrating |
---|
5.5 |
三、带有 WHERE 子句的 AVG 函数
我们还可以将 WHERE 子句与 AVG 函数一起使用,该函数添加过滤行的值。
将 AVG 函数与 WHERE 子句一起使用的语法如下:
SELECT AVG(column_Name) AS Alias_Name FROM Table_Name WHERE Condition;
查询 1:以下 SELECT 查询在上述 Product_Details 表中使用带有 WHERE 子句的 AVG 函数:
SELECT AVG(Product_Quantity) AS Average_ofproduct>200 FROM Product_Details WHERE Product_ID > 200;
此查询从上表中查找产品 id 大于 200 的产品数量的平均值。
输出结果为:
Average_ofproduct>200 |
---|
16.91 |
查询 2:以下 SELECT 查询在上述 Product_Details 表中使用带有 WHERE 子句的 AVG 函数:
SELECT AVG(Purchasing_Price) AS Average_of_purchasingprice FROM Product_Details WHERE Release_Date = 2022-01-28;
此查询查找 2022-01-28 发布的产品的平均采购价格。
输出结果为:
Average_of_purchasingprice |
---|
162.5 |
四、带有 DISTINCT 子句的 AVG 函数
我们还可以将 DISTINCT 子句与 AVG 函数一起使用,该函数从表中添加列的不同值。
将 AVG 函数与 DISTINCT 子句一起使用的语法如下:
SELECT AVG(DISTINCT (column_Name)) AS Alias_Name FROM Table_Name WHERE Condition;
查询 1:以下 SELECT 查询在上述 Product_Details 表中使用带有 DISTINCT 子句的 AVG 函数:
SELECT AVG(DISTINCT(Product_Quantity)) AS Average_ofdistinctproduct FROM Product_Details;
此查询将 Product_quantity 列的不同值的数量相加,然后求平均值。
输出结果为:
Average_ofdistinctproduct |
---|
17.8 |
查询 2:以下 SELECT 查询将 AVG 函数与上述 Product_Details 表的 DISTINCT 子句一起使用:
SELECT AVG(DISTINCT(Product_Rating)) AS Average_ofdistinctproductrating FROM Product_Details;
输出结果为:
Average_ofdistinctproductrating |
---|
6 |
热门文章
优秀文章