oracle max()函数和min()函数
oracle max()函数和min()函数当需要了解一列中的最大值时,可以使用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示。 图1TEACHER表中教师的最大年龄 然而,在实际应用中得到这个结果并不是特别有用,因为经常想要获得的信息是具有最大年龄的教师的教工号、姓名、性别等信息。 然而SQL不支持如下的SELECT语句。 SELECT TNAME,DNAME,TSEX,MAX (AGE) FROM TEACHER 因为聚合函数处理的是数据组,在本例中,MAX函数将整个TEACHER表看成一组,而TNAME、DNAME和TSEX的数据都没有进行任何分组,因此SELECT语句没有逻辑意义。同样的道理,下面的代码也是无效的。 SELECT TNAME,SAL,AGE FROM TEACHER WHERE AGE=MAX (AGE) 解决这个问题的方法,就是在WHERE子句中使用子查询来返回最大值,然后再基于这个返回的最大值,查询相关信息。 实例8 在WHERE子句中使用子查询返回最大值 查询TEACHER表中年纪最大的教师的教工号、姓名、性别等信息。 实例代码: SELECT TNAME,AGE FROM TEACHER WHERE AGE=(SELECT MAX (AGE) FROM TEACHER) 运行结果如图2示。 图2在WHERE子句中使用子查询返回最大值 MAX()和MIN()函数不仅可以作用于数值型数据,也可以作用于字符串或是日期时间数据类型的数据。 实例MAX()函数用于字符型数据 如下面代码: SELECT MAX (TNAME) AS MAXNAME FROM TEACHER 运行结果如图3示。 图3在字符串数据类型中使用MAX的结果 可见,对于字符串也可以求其最大值。 说明 当然,对与日期时间类型的数据也可以求其最大/最小值,其大小排列就是日期时间的早晚,越早认为其值越小,如下面的实例。 实例 MAX()、MIN()函数用于时间型数据 从COURSE表中查询最早和最晚考试课程的考试时间。其中COURSE表的结构和数据可参见本书6.1节的表6-1。实例代码: SELECT MIN (CTEST) AS EARLY_DATE, MAX (CTEST) AS LATE_DATE FROM COURSE 运行结果如图4示。 图4COURSE表中最早和最晚考试课程的考试时间 可见,返回结果的数据类型与该列定义的数据类型相同。 注意 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – ActiveRecord:删除相关记录
- SQLite是如何理解 SQL As Understood By SQLite
- unobtrusive Ajax停止工作后更新jQuery到1.9.0
- 简单总结C++中指针常量与常量指针的区别
- 用J-Link烧写bootloader到Mini2440的Nor Flash
- OOD沉思录 之 类和对象的关系--包含关系3
- Cocos2d-x 3.2编写常用UI组件(一)新手指导框GuideLayer
- 我的Cocos2d-x学习笔记(二十二)CCTextFieldTTF (文字输入
- freebsd-ports – FreeBSD ports:安装端口后删除构建依赖项
- c – 多次实例化函数模板的指针