本文介绍了如何在SQL中使用MIN和MAX函数避免0值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的桌子:

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

如果日期相同,则选择最小值和最大值,并从运行"列中获得差异.如果只有一个日期,那么什么也不做,并获得相同的值

If same dates then pick minimum value and maximum value and get difference from "RUNNING" Column. If only one date then do nothing and get same value

查询:

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值

But i want "128" value with "1/1/2018" date but this give 0 value

如何解决这个问题?

推荐答案

包含CASE语句.

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

这篇关于如何在SQL中使用MIN和MAX函数避免0值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 07:30