在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值。