如何在MySQL中选择一个字段具有最小值的数据?

要选择字段具有最小值的数据,可以使用聚合函数min()。语法如下。

SELECT *FROM yourTableName WHERE yourColumnName=(SELECT MIN(yourColumnName) FROM yourTableName);

为了理解上述语法,让我们创建一个表。创建表的查询如下。

mysql> create table MinValueDemo
-> (
-> ProductId int,
-> ProductName varchar(100),
-> ProductPrice int
-> );

使用insert命令在表中插入一些记录。查询如下。

mysql> insert into MinValueDemo values(1,'product-1',4500);

mysql> insert into MinValueDemo values(2,'product-2',4340);

mysql> insert into MinValueDemo values(3,'product-3',4110);

mysql> insert into MinValueDemo values(4,'product-4',4344);

mysql> insert into MinValueDemo values(5,'product-5',4103);

使用select语句显示表中的所有记录。查询如下。

mysql> select *from MinValueDemo;

以下是输出。

+-----------+-------------+--------------+
| ProductId | ProductName | ProductPrice |
+-----------+-------------+--------------+
| 1         | product-1   | 4500         |
| 2         | product-2   | 4340         |
| 3         | product-3   | 4110         |
| 4         | product-4   | 4344         |
| 5         | product-5   | 4103         |
+-----------+-------------+--------------+
5 rows in set (0.00 sec)

这是使用MIN()MySQL的聚合函数来选择“ ProductPrice”具有最小值的数据的查询。

mysql> select *from MinValueDemo
-> where ProductPrice=(select min(ProductPrice) from MinValueDemo);

以下是输出。

+-----------+-------------+--------------+
| ProductId | ProductName | ProductPrice |
+-----------+-------------+--------------+
| 5         | product-5   | 4103         |
+-----------+-------------+--------------+
1 row in set (0.08 sec)