SQL中MAX()和MIN()函数的使用

数据库 SQL Server
MAX()/MIN()是指SQL中的最大/最小值函数,下面就将为您介绍着两种函数的使用实例,希望对您学习SQL中的函数使用能够有所帮助。

SQL数据库中,最大/最小值函数—MAX()/MIN()是经常要用到的,下面就将为您分别介绍MAX()函数和MIN()函数的使用,供您参考,希望对您学习SQL数据库能有些帮助。

当需要了解一列中的最大值时,可以使用MAX()函数;同样,当需要了解一列中的最小值时,可以使用MIN()函数。语法如下。

SELECT          MAX (column_name) / MIN (column_name)

FROM            table_name

说明:列column_name中的数据可以是数值、字符串或是日期时间数据类型。MAX()/MIN()函数将返回与被传递的列同一数据类型的单一值。

实例7 MAX()函数的使用

查询TEACHER表中教师的最大年龄。实例代码:

SELECT MAX (AGE) AS MAXAGE

FROM     TEACHER

运行结果如图1示。

图1

图1TEACHER表中教师的最大年龄

然而,在实际应用中得到这个结果并不是特别有用,因为经常想要获得的信息是具有最大年龄的教师的教工号、姓名、性别等信息。

然而SQL不支持如下的SELECT语句。

SELECT TNAME, DNAME, TSEX, MAX (AGE)#p#

FROM     TEACHER

因为聚合函数处理的是数据组,在本例中,MAX函数将整个TEACHER表看成一组,而TNAME、DNAME和TSEX的数据都没有进行任何分组,因此SELECT语句没有逻辑意义。同样的道理,下面的代码也是无效的。

SELECT TNAME, DNAME, TSEX,SAL ,AGE

FROM     TEACHER

WHERE   AGE=MAX (AGE)

解决这个问题的方法,就是在WHERE子句中使用子查询来返回最大值,然后再基于这个返回的最大值,查询相关信息。

实例8 在WHERE子句中使用子查询返回最大值

查询TEACHER表中年纪最大的教师的教工号、姓名、性别等信息。

实例代码:

SELECT TNAME, DNAME, TSEX, SAL, AGE

FROM     TEACHER

WHERE   AGE=(SELECT MAX (AGE) FROM    TEACHER)

运行结果如图2示。

图2

图2在WHERE子句中使用子查询返回最大值

MAX()和MIN()函数不仅可以作用于数值型数据,也可以作用于字符串或是日期时间数据类型的数据。

实例MAX()函数用于字符型数据

如下面代码:

SELECT MAX (TNAME) AS MAXNAME

FROM     TEACHER#p#

运行结果如图3示。

图3

图3在字符串数据类型中使用MAX的结果

可见,对于字符串也可以求其最大值。

说明
 对字符型数据的最大值,是按照首字母由A~Z的顺序排列,越往后,其值越大。当然,对于汉字则是按照其全拼拼音排列的,若首字符相同,则比较下一个字符,以此类推。

当然,对与日期时间类型的数据也可以求其最大/最小值,其大小排列就是日期时间的早晚,越早认为其值越小,如下面的实例。

实例 MAX()、MIN()函数用于时间型数据

从COURSE表中查询最早和最晚考试课程的考试时间。其中COURSE表的结构和数据可参见本书6.1节的表6-1。实例代码:

SELECT MIN (CTEST) AS EARLY_DATE,

                     MAX (CTEST) AS LATE_DATE

FROM     COURSE

运行结果如图4示。

图4

图4COURSE表中最早和最晚考试课程的考试时间

可见,返回结果的数据类型与该列定义的数据类型相同。

注意
 确定列中的最大值(最小值)时,MAX( )(MIN( ))函数忽略NULL值。但是,如果在该列中,所有行的值都是NULL,则MAX( )/MIN( )函数将返回NULL值。

 

 

【编辑推荐】

SQL中求和函数SUM()的应用实例

TOP字句加SQL变量的相关问题

sql变量从select,insert获取值两种情况的操作

Transact-SQL变量的声明

设置Transact-SQL变量中的值
 
 

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-09 09:31:19

SQL函数left

2022-04-28 07:00:09

min()max()clamp()

2020-08-05 08:27:38

CSS Firefox浏览器

2010-09-08 13:40:15

SQL函数DateDiff

2010-09-06 16:40:52

SQL函数

2010-09-24 19:02:40

SQL中CONVERT

2023-06-07 10:32:57

内置函数clear

2010-08-26 09:46:44

CSSmax-width max-height

2010-09-09 09:59:37

SQL函数TRUNC

2010-09-10 13:30:49

SQLCOUNT(*)函数

2010-09-16 09:15:59

SQL函数

2016-09-21 21:22:11

Javascript前端数学

2010-09-06 17:35:43

SQL函数

2010-09-06 17:11:14

SQL函数

2010-09-24 19:28:12

SQL CHARIND

2010-09-10 15:51:51

SQL分析函数

2010-09-06 14:42:56

SQL函数

2010-09-06 14:17:04

SQL函数

2010-09-10 16:24:06

SQL函数

2010-08-24 12:40:23

DIVCSSmin-height
点赞
收藏

51CTO技术栈公众号