日期:2014-05-16  浏览次数:20786 次

Oracle 取出多个字段列中的最大值和最小值

首先介绍两个函数(下面是两个连接):

Oracle Least()函数

Oracle Greatest()函数

例子:


建表语句:

create table EMP
(
  EMPNO    NUMBER(4) not null,
  ENAME    VARCHAR2(10),
  JOB      VARCHAR2(9),
  MGR      NUMBER(4),
  HIREDATE DATE,
  SAL      NUMBER(7,2),
  COMM     NUMBER(7,2),
  DEPTNO   NUMBER(2)
)
假如要求EMPNO, MGR,SAL三列中的最大值、最小值,代码如下:

SELECT EMPNO, MGR,SAL,
      greatest (EMPNO, MGR,SAL) max,
      least(EMPNO, MGR,SAL) min
FROM emp 
结果如下图:


如果只想显示最大、最小的即只显示一行,代码如下:

SELECT EMPNO, MGR,SAL,
      greatest (EMPNO, MGR,SAL) max,
      least(EMPNO, MGR,SAL) min
 FROM emp where rownum<2;
效果如下: