相关文章推荐
文雅的海龟  ·  IBM Documentation·  2 周前    · 
阳刚的烤地瓜  ·  sql ...·  20 小时前    · 
憨厚的奔马  ·  sql- 解析JSON对象 - 知乎·  1 年前    · 
耍酷的枕头  ·  python - ...·  1 年前    · 

在sql数据库中,我们经常需要查询某一列中最大值或最小值。查询最大值使用的是max()函数,查询最小值使用的是min()函数。

1.格式:

查询最大值:select max(column_name) from table

查询最小值:select min(column_name) from table

column_name:用于查询最大值/最小值的列,可以是数值类型、字符类型、时间日期类型或者是null值。使用max()函数会返回该列中最大的值,使用min()函数会返回该列中最小值。

2.具体案例详解:

数据表a如图:

1).column_name列的数据类型为数值类型时:

最大值:select max(age) from a

返回结果图:

最小值:select min(age) from a

返回结果图:

说明:当数据类型是数值类型时,在使用最大值max()或最小值min()函数时,会按照数值的值的大小来返回最大值或最小值。

但是,在使用最大值max()函数或最小值min()函数时,该列是没有列名,要手动去给该列起一个名字作为列名。

例如:select max(age) as age from a  或者 select age = max(age) from a  这2中方式指定返回列的名称。

返回结果图:

2).column_name列的数据类型是字符类型时:

最大值:select name = max(name) from a

返回结果图:

最小值:select name = min(name) from a

返回结果图:

说明:当数据类型为字符类型时,使用最大值max()函数和最小值min()函数时,该列值大小是按照字母A~Z的排列顺序来区分大小的,字母越靠前就越大,越靠后就越小。

3).column_name列的数据类型是时间日期类型时:

最大值:select date_time = max(date_time) from a

返回结果图:

最小值:select date_time = min(date_time) from a

返回效果图:

说明:当数据类型为时间日期类型时,使用最大值max()函数和最小值min()函数时,该列值大小是按照时间顺序来区分大小的。时间月靠前,值就越小,时间月靠后,值就越大。

4).column_name列的值为null时:

最大值:select name = max(name) from a where a.name is null

返回结果图:

最小值:select name = min(name) from a where a.name is null

返回结果图:

说明:当该列的所有值都为null时,使用最大值max()函数和最小值min()函数时,都是直接返回null值。