在MySQL中,有时需要对某个字段求最大值、最小值。比如,对字段id求最大值、最小值。这里以student表格为例,求取id字段的最大值、最小值,如图(1)所示。
![](https://img-blog.csdnimg.cn/df73d2041d154fd286ed79f88a262d90.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_19,color_FFFFFF,t_70,g_se,x_16)
1、int字段的最大值、最小值
若字段id是int类型,则SQL语句如下:
-- 1.1) 在student表格里,求取id的最大值
select max(id) from student;
-- 1.2) 在student表格里,求取id的最小值
select min(id) from student;
如图(2)、图(3)、图(4)所示:
![](https://img-blog.csdnimg.cn/686bd75585fc42ef97411cfb576cfa8b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/0f1c489cdd024b7a8a5283527fdeabfd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_19,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/5b6a2d7abbc04128b338f6050431fa9d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_18,color_FFFFFF,t_70,g_se,x_16)
2、varchar字段的最大值、最小值
varchar字段可以表示很多字符,这里只考虑varchar字符是0~9的情况,即 varchar --> int的情况。
若字段id是varchar类型,则SQL语句如下:
## 2.1)在student表格里,求取id的最大值
SELECT MAX(CAST(id AS UNSIGNED)) FROM student;
## 2.2)在student表格里,求取id的最小值
SELECT MIN(CAST(id AS UNSIGNED)) FROM student;
如图(5)、图(6)、图(7)所示:
![](https://img-blog.csdnimg.cn/b6f4789740b643719c11d8c55c1a0e92.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/8889b6106bd44755a4816b0adef51c08.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_17,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/ed331a8e3bbf4fbdbb54002e208999a3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_18,color_FFFFFF,t_70,g_se,x_16)