Oracle 数据库中 GREATEST() 函数的作用?

GREATEST()函数在SQL中用于返回一组值中的最大值,包括数字和日期类型。示例查询展示了如何在多个工作耗时字段中找出最大值,用于分析生产流程效率。
摘要由CSDN通过智能技术生成

1:GREATEST() 函数用于在给定一组值中返回最大的值。它可以接受两个或多个参数,并在这些参数中找到最大值。

例如,假设你有一个包含三个数值的列,分别是 10、25 和 5,那么使用 GREATEST() 函数将返回最大值 25

此外,GREATEST() 函数还支持比较日期和时间类型的值,可以方便地找出这些值中的最大值。它也可以与其他 SQL 函数和表达式结合使用,以更复杂的方式查找最大值。

总之,GREATEST() 函数非常有用,因为它可以让你很容易地在一组值中找到最大值,而不需要进行繁琐的比较操作。

例子:

SELECT 
 GREATEST(
  NVL(a.模件电裝单人工作耗时,0),
  NVL(a.整机电裝单人工作耗时,0),
  NVL(a.单机调试单人工作耗时,0),
  NVL(a.单板调试单人工作耗时,0),
  NVL(a.测发控系统联调单人工作耗时,0) ,
  NVL(a.控制系统联调单人工作耗时,0)
  ) AS  最长工序耗时,

 NVL(a.模件电裝单人工作耗时,0) AS 模件电裝单人工作耗时,
 NVL(a.整机电裝单人工作耗时,0) AS 整机电裝单人工作耗时,
 NVL(a.单机调试单人工作耗时,0) AS 单机调试单人工作耗时,
 NVL(a.单板调试单人工作耗时,0) AS 单板调试单人工作耗时,
 NVL(a.测发控系统联调单人工作耗时,0) AS 测发控系统联调单人工作耗时,
 NVL(a.控制系统联调单人工作耗时,0) AS 控制系统联调单人工作耗时,
 NVL(a.数据日期,SYSDATE)   AS 数据日期
  FROM (SELECT ROW_NUMBER() OVER(PARTITION BY ORG_NO,TO_CHAR(DATA_DATE, 'YYYY') 
ORDER BY DATA_DATE DESC, CREATE_TIME DESC) rn,
 DECODE(MODEL_ELEC_INSTAL_NUM ,0,0,ROUND(NVL(MODEL_ELEC_INSTAL_TIME,0) / MODEL_ELEC_INSTAL_NUM ) * 100,2 ) AS 模件电裝单人工作耗时,
 DECODE(ELEC_INSTAL_NUM ,0,0,ROUND(NVL(ELEC_INSTAL_TIME,0) /  ELEC_INSTAL_NUM ) * 100,2 ) AS 整机电裝单人工作耗时,
 DECODE(SINGLE_TEST_NUM ,0,0,ROUND(NVL(SINGLE_TEST_TIME,0) / SINGLE_TEST_NUM ) * 100,2 ) AS  单机调试单人工作耗时,
 DECODE(BOARD_TEST_NUM ,0,0,ROUND(NVL( BOARD_TEST_TIME,0) / BOARD_TEST_NUM ) * 100,2 ) AS 单板调试单人工作耗时,
 DECODE(TEST_CONTROL_SYS_NUM ,0,0,ROUND(NVL(TEST_CONTROL_SYS_TIME,0) / TEST_CONTROL_SYS_NUM ) * 100,2 ) AS 测发控系统联调单人工作耗时,
 DECODE(CONTROL_SYS_NUM ,0,0,ROUND(NVL(CONTROL_SYS_TIME,0) / CONTROL_SYS_NUM ) * 100,2 ) AS 控制系统联调单人工作耗时,
          DATA_DATE AS 数据日期
          FROM BRAIN.DS_PROD_PROC_RECORD
         ) a
 where a.rn = 1
 

结果:

d3bb3125115c4ae78e22ce185e622824.png

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

入夏忆梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值