关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL语言 »SQL中MAX()和MIN()函数的使用(1)

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

    2010-09-10 13:56:00 出处:ITJS
    分享

    在SQL数据库中,最大/最小值函数—MAX()/MIN()是经常要用到的,接下来的SQL server内容就将为您分别介绍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)

    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

    运行结果如图3示。

    图3

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

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

    说明

    在SQL数据库中,最大/最小值函数—MAX()/MIN()是经常要用到的,接下来的SQL server内容就将为您分别介绍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)

    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

    运行结果如图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值。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    SQL汉字转换为拼音的函数

    windows 7系统无法运行Photoshop CS3的解决方法

    巧用MySQL加密函数对Web网站敏感数据进行保护

    MySQL基础知识简介

    Windows7和WinXP下如何实现不输密码自动登录系统的设置方法介绍

    windows 7系统ip地址冲突怎么办?windows 7系统IP地址冲突问题的

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。