本文介绍了如何在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值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!