SQL MIN函数
MIN是SQL中的聚合函数,它返回表中指定列的最小值。
MIN函数的语法
在结构化查询语言中,我们使用MIN函数与表的列一起使用,如下所示:
SELECT MIN(column_Name) AS Alias_Name FROM Table_Name;
MIN 函数的示例
在这里,我们将通过使用表的列来创建新表,然后对其执行 MIN 函数。
下面展示了在 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查询使用以上Product_Details表的Product_Quantity列的MIN函数:
SELECT MIN(Product_Quantity) AS Minimum_in_productquantity FROM Product_Details;
这个查询显示了产品数量列的最小值。
输出:
Minimum_in_productquantity
---
10.250
查询2: 下面的SELECT查询使用了上述Product_Details表中的Selling_Price列的MIN函数:
SELECT MIN(Selling_Price) AS Minimum_in_sellingpriceproducts FROM Product_Details;
这个查询返回售价产品的最低值。
输出:
Minimum_in_sellingpriceproducts
---
15
查询3: 下面的SELECT查询使用了上述Product_Details表的Product_Rating列的MIN函数:
SELECT MIN(Product_Rating) AS Minimum_in_productrating FROM Product_Details;
这个查询返回Product_rating列的最小值。
输出结果:
Minimum_in_productrating
---
4
查询 4: 以下 SELECT 查询使用了以上 Product_Details 表中两列的 MIN 函数:
SELECT MIN(Purchasing Price + Selling Price) AS Minimum_of_Purchasing+Selling FROM Product_Details;
该查询返回购买价格和销售价格相加后的最小值。
输出结果:
Minimum_of_Purchasing+Selling
---
20
MIN函数与WHERE子句
我们还可以使用WHERE子句与MIN函数一起使用,它将返回过滤后行中的最小值。
使用WHERE子句与MIN函数的语法如下:
SELECT MIN(column_Name) AS Alias_Name FROM Table_Name WHERE Condition;
查询1: 以下SELECT查询在上面的Product_Details表中使用MIN函数和WHERE子句:
SELECT MIN(Product_Quantity) AS Minimum_in_product>200 FROM Product_Details WHERE Product_ID > 200;
此查询返回那些产品中产品ID大于200的最小数量。
输出:
Minimum_in_product>200
---
15.500
查询2: 下面的SELECT查询在上面的Product_Details表中使用了MIN函数和WHERE子句:
SELECT MIN(Purchasing_Price) AS Minimum_in_purchasingprice FROM Product_Details WHERE Release_Date = 2022-01-28;
查询返回发布于2022-01-28的产品中最低的购买价格。
输出:
Minimum_in_purchasingprice
---
15.500
使用GROUP BY子句的MIN函数
我们还可以使用GROUP BY子句与MIN函数一起使用,该函数从同一组中返回最小值。
使用带有GROUP BY子句的MIN函数的语法如下:
SELECT Column_Name1, MIN(column_Name)) AS Alias_Name FROM Table_Name GROUP BY Column_Name1;
查询1: 以下SELECT查询在上面的Product_Details表中使用了MIN函数和GROUP BY子句:
SELECT Category, MIN(Product_Quantity) AS Minimum_in_samegroup FROM Product_Details GROUP BY Category;
这个查询返回每个指定组的最小值。
输出:
Category | Minimum_in_samegroup |
---|---|
Cloths | 10.250 |
Toys | 10.250 |
Electrical | 15.500 |