sql max函数的使用方法有哪些?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql max函数的使用方法有哪些?相关的知识,希望对你有一定的参考价值。

参考技术A

sql max函数的使用方法

  在SQL数据库中,最大/最小值函数—MAX/MIN是经常要用到的。下面我给大家带来sql max函数的使用方法,欢迎大家阅读。

   sql max函数的使用方法

  当需要了解一列中的最大值时,可以使用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, 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在WHERE子句中使用子查询返回最大值

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

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

  如下面代码:

  SELECT MAX (TNAME) AS MAXNAME

  FROM     TEACHER

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

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

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

  注意

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

;

数据库查询,关于聚合函数 max()的用法。

我这样写对么?
select ename,sal from emp where sal>=max(sal);

select ename,max(sal)from emp group by empno having sal=max(sal)'

哪个是正确的,或者能够提供下正确答案就好了。

    MAX()/MIN()是指SQL中的最大/最小值函数 

    因为聚合函数处理的是数据组,在本例中,MAX函数将整个TEACHER表看成一组

    而TNAME、DNAME和TSEX的数据都没有进行任何分组,因此SELECT语句没有逻辑意义

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

    SQL 如下:

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

    如下面代码:

    SELECT MAX (a) AS MAXNAME

    FROM     A

参考技术A 最大的。排序一下,取第一个值,不就出来了?

SELECT * FROM emp WHERE ROWNJUM = 1 ORDER BY sal DESC本回答被提问者采纳
参考技术B 错的 聚集函数只能用于select和group by中的having子句 参考技术C 返回表达式中的最大值项 参考技术D 自己放到数据库中测试一下呗。你想查询出什么结果/?追问

比如找出当前部门中拿到薪水最高的雇员。

追答

select ename from emp where sal=max(sal);

追问

Query : select ename from emp where sal=max(sal)
Error Code : 1111
Invalid use of group function
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000

对不住,编辑器报这种错误,希望能够给出正确答案。。。

以上是关于sql max函数的使用方法有哪些?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server中的聚合函数都有哪些?

SQL Server中的聚合函数都有哪些?

讲解SQL Server数据库中函数的使用方法有哪些?

数据库查询,关于聚合函数 max()的用法。

mysql中常用的聚合函数都有哪些?

开窗函数