如何在 SQL 中使用 MIN 和 MAX 函数避免 0 值?

How to avoid 0 values using MIN and MAX function in SQL?

我有 table 这样的:

Running    Date
  128      1/1/2018
  700      6/11/2018
  900      6/11/2018
  300      6/11/2018

如果日期相同,则选择最小值和最大值并从 "RUNNING" 列中获取差异。如果只有一个日期那么什么都不做并得到相同的值

查询:

SELECT MAX(RUNNING) - MIN(RUNNING) "RUNNING", DATE
FROM TABLE
GROUP BY DATE;

我得到了以下结果:

Running    Date
  0        1/1/2018
  600      6/11/2018

但我想要日期为“1/1/2018”的“128”值,但这给出了 0 个值

如何解决?

包含 CASE 语句。

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