如何在 oracle sql 中再次使用 MAX 和 MIN 函数获取值?

Posted

技术标签:

【中文标题】如何在 oracle sql 中再次使用 MAX 和 MIN 函数获取值?【英文标题】:how to get values using again MAX and MIN function in oracle sql? 【发布时间】:2018-12-03 07:41:51 【问题描述】:

我使用此 SQL 查询得到以下结果:

SELECT Code,
 CASE
      WHEN MAX(running) = MIN(running) THEN MAX(running)
      ELSE MAX(running) - MIN(running)
 END
"RUNNING",
 date
FROM table
GROUP BY date;

结果:

Code    Running     Date
CC4       123       1/1/2018
CC4       12        1/11/2018
CC4       12000     4/2/2018
CC4       1000      4/10/2018

用户选择从日期 (1/1/2018) 到日期 (4/10/2018)

“代码”列中的代码相同。我想在上面的查询中再次使用 Max 和 Min 函数来实现“代码”列的一个结果

在oracle SQL中如何实现这个目标?

【问题讨论】:

您的第一个查询无效,甚至无法在 Oracle 上运行。生成输出的实际查询是什么? 这样的代码有多少?向我们展示您的原始表格的实际外观以及您的最终预期输出。 Your previous question没有提到代码栏。 【参考方案1】:

我想你只想GROUP BY code:

SELECT Code,
       (CASE WHEN MAX(running) = MIN(running) THEN MAX(running)
             ELSE MAX(running) - MIN(running)
        END) as "RUNNING"
FROM table
GROUP BY code;

【讨论】:

以上是关于如何在 oracle sql 中再次使用 MAX 和 MIN 函数获取值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 oracle sql 中使用 max on sum?

如何存储 select 语句的结果并能够在另一个 select 语句中再次使用它 PL\SQL Oracle

如何根据以下数据在 oracle SQL 上使用 max 函数? [关闭]

如何在 Oracle SQL 中不使用 distinct 选择从多个 max(case when) 派生的唯一行

如何通过 Oracle 中的 SQL 查询找到每个 id 的 TOP/MAX 值?

oracle 形式:pl/sql 中 where 子句中的 max 子句