`
bosschen
  • 浏览: 197253 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

oracle中的 greatest,least函数

 
阅读更多

原文地址:oracle中的 greatest,least函数(转)作者:iforit

 

已知表TB的数据如下 

SQL> select * from tb;

        ID    CHINESE       MATH    ENGLISH
---------- ---------- ---------- ----------
      1001         89         98         87
      1002         81         87         79 

现在要得到如下的结果,该怎么 来解决

        ID    CHINESE       MATH    ENGLISH        MAX        MIN
---------- ---------- ---------- ---------- ---------- ----------
      1001         89         98         87         98         87
      1002         81         87         79         87         79



想 了半天也没想到啥好办法,首先自然而然想到用MAX和MIN函数,但是显然这两个是聚集函数,是要作用在同一个column的一个Group上面的,而现 在要得到的MAX和MIN的值却是作用于每一行上面的,如果要借助于MAX()和 MIN()的话,还需要对原表的数据结构进行下处理(先进行转列操作 unpivot),但是显然不是很好。 

解决方式如下


SQL>    SELECT id, chinese, math, english,
  2         greatest(chinese, math, english) max,
  3         least(chinese, math, english) min
  4         FROM   tb;

        ID    CHINESE       MATH    ENGLISH        MAX        MIN
---------- ---------- ---------- ---------- ---------- ----------
      1001         89         98         87         98         87
      1002         81         87         79         87         79

分享到:
评论

相关推荐

    oracle中的greatest 函数和 least函数示例代码

    Oracle数据库中的`GREATEST`和`LEAST`函数是两个非常实用的工具,它们能够帮助我们快速地在多个表达式或列之间找到最大值或最小值。这两个函数在处理多列数据比较时,提供了简洁的解决方案,尤其在不需要进行复杂的...

    oracle 和sql Server 函数对比

    - Oracle使用`LEAST`函数,SQL Server使用`MIN`函数,类似地,`MIN`主要用于聚合查询。 - 示例:Oracle中`SELECT LEAST(1, -2, 4, 3) FROM DUAL`;SQL Server中`SELECT MIN(value) FROM (VALUES (1), (-2), (4), ...

    oracle系统内置函数大全

    7. LEAST函数:返回参数列表中的最小值。 8. NVL函数:用于将NULL值转换为指定的值。 9. UID函数:返回Oracle数据库的内部唯一标识。 10. USER函数:返回当前用户的名字。 11. USERENV函数:返回当前用户环境的信息...

    oracle 10G函数大全(中文)

    - GREATEST和LEAST找出两个或更多值中的最大值或最小值。 4. **聚合函数与分析函数**: - 分组函数如COUNT、SUM、AVG、MAX、MIN在GROUP BY子句中使用,对分组数据进行计算。 - 分析函数如ROW_NUMBER、RANK、...

    SQLServer和Oracle的常用函数对比

    - Oracle中使用`GREATEST()`函数。 19. **求集合最小值** - SQLServer中使用`MIN()`函数。 - Oracle中使用`LEAST()`函数。 20. **处理NULL值** - SQLServer中使用`ISNULL()`函数。 - Oracle中使用`NVL()`函数...

    oracle函数大全-数字处理函数

    本文将深入探讨Oracle中的数字处理函数,帮助你更好地理解和利用这些功能强大的工具。 1. **ROUND() 函数** ROUND() 用于四舍五入数字到指定的小数位数。例如,`ROUND(123.456, 2)` 将返回 `123.46`。你可以指定...

    sql server和oracle中常用函数的比较

    - **SQL Server**与**Oracle**: 分别使用`MAX()`和`MIN()`函数,但在Oracle中可以使用`GREATEST()`和`LEAST()`函数来同时比较多个值。 16. **处理NULL值** - **SQL Server**: 使用`ISNULL()`函数。 - **Oracle**...

    ORACLE与SQLSERVER函数异同比较

    - **最大/最小字符串**: Oracle中的`GREATEST`和`LEAST`函数用于找出一组字符串中的最大值和最小值,而SQL Server中没有直接对应的函数。 #### 日期函数 日期函数对于处理时间和日期非常重要。下面是一些Oracle和...

    oracle 10G函数大全

    - GREATEST/LEAST:返回一组值中的最大值/最小值。 6. **聚合函数**: - COUNT:计算行数。 - SUM:计算数值列的总和。 - AVG:计算平均值。 - MAX/MIN:找到数值列的最大值/最小值。 7. **转换函数**: - ...

    Oracle 函数大全

    6. LEAST函数:返回一组表达式中的最小值。 以上总结的函数可以根据实际开发需求,灵活运用在SQL查询、存储过程、触发器等Oracle数据库对象中,用以处理数据和控制程序流程。掌握这些函数的使用方法是Oracle数据库...

    oracle与sqlserver函数对照

    下面将详细对比Oracle与SQL Server中的关键函数,帮助用户在不同DBMS间进行有效的转换。 ### 数学函数 1. **绝对值函数** - Oracle: 使用`ABS`函数。 - SQL Server: 同样使用`ABS`函数。 - 示例:`SELECT ABS(-...

    oracle函数大全(分类显示).zip

    - `GREATEST/LEAST`:返回一组值中的最大值或最小值。 6. **聚合函数**: - `COUNT`:计算行数。 - `SUM`:计算数值列的总和。 - `AVG`:计算平均值。 - `MAX/MIN`:找到列的最大值或最小值。 - `GROUP_BY`:...

    SQL Server和Oracle的常用函数类型

    - **最大值**:SQL Server 用 `MAX()` 对集合求最大值,Oracle 可以使用 `GREATEST()` 函数。 - **最小值**:SQL Server 用 `MIN()`,Oracle 使用 `LEAST()`。 - **处理 NULL 值**:SQL Server 有 `ISNULL()`,如...

    oracle中的函数总结

    LEAST函数返回一组值中的最小值。语法如下: ```sql LEAST(value1, value2, ...) ``` 例如: ```sql SELECT LEAST('', '', '') FROM DUAL; ``` #### 16. INITCAP 函数 INITCAP函数用于将字符串的第一个字母大写...

    SQLServer和Oracle常用函数对比

    本文将详细探讨在SQLServer与Oracle数据库系统中常用的数学函数及字符串处理函数之间的差异。对于数据分析师、数据库管理员以及软件开发者而言,掌握这两种数据库管理系统之间的不同之处至关重要,尤其是在进行跨...

    oracle函数大全.rar

    最后,除了以上这些,Oracle还提供了一些**其他特殊函数**,比如`ROWNUM`生成行号,`GREATEST()`和`LEAST()`返回两个或更多值中的最大值或最小值,`DBMS_OUTPUT.PUT_LINE()`用于在PL/SQL程序中打印输出,以及`USER`...

    Oracle函数大全.pdf

    - **greatest/least**: 返回给定表达式列表中的最大值和最小值。 - **nvl/nvl2**: 在参数为null时提供替代值。 - **user/uid/userenv**: 返回用户或环境信息。 - **decode**: 等价于IF-THEN-ELSE语句。 - **nullif**...

    Oracle_SQLServer函数命令大全.doc

    - `GREATEST()` 和 `LEAST()`:找出一组值中的最大或最小值。 13. **处理 NULL 值**: - SQL Server 使用 `ISNULL()` 替换 NULL,如 `SELECT ISNULL(F2, 10)`。 - Oracle 使用 `NVL()`,如 `SELECT NVL(F2, 10)`...

    Oracle和Sqlserver函数的区别

    - Oracle 提供 `GREATEST()` 和 `LEAST()` 函数,可以接收多个参数并返回最大或最小值 这些函数在使用时需要根据所选数据库系统调整语法,以确保正确执行。理解这些差异对于在不同数据库系统之间切换或编写跨平台...

Global site tag (gtag.js) - Google Analytics