我有这样的桌子:
Running Date
128 1/1/2018
700 6/11/2018
900 6/11/2018
300 6/11/2018
如果日期相同,则选择最小值和最大值,并从“运行”列中获得差异。如果只有一个日期,那么什么也不做,并获得相同的值
查询:
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值
如何解决这个问题?
答案 0 :(得分:1)
包括一个CASE
语句。
SELECT
CASE
WHEN MAX(running) = MIN(running) THEN MAX(running)
ELSE MAX(running) - MIN(running)
END
"RUNNING",
dt
FROM t
GROUP BY dt;