我有这样的代码。我的预期结果是从一组设定的时间戳中获取最高值。我不确定为什么这不起作用。我正在使用Oracles SQL 10.请提前感谢您的帮助。
代码
SELECT value, timestamp
FROM farm1 f
WHERE timestamp between 1405987200 and (1405987200 + 86400)
where value =
(select max(x.value)
from farm1 x
where x.timestamp between 1405987200 and (1405987200 + 86400);
预期结果
TIMESTAMP VALUE
---------- ----------
1406056898 8.09
结果正在制作
TIMESTAMP VALUE
---------- ----------
1405992437 6.49
1406056898 8.09
1406055371 9.4
1406071600 1.12
此外,还有一种方法可以在不使用unix时间(例如1405992437)的情况下获取今天的时间戳吗?
答案 0 :(得分:1)
SELECT MAX(value)
FROM farm1
WHERE timestamp BETWEEN 1405987200 AND (1405987200 + 86400)
对于你的第二个问题,你的意思是使用人类可读的比较吗?您可以随时使用WHERE TO_DATE(timestamp,...)
,但我不确定您的索引在此之后会如何反应。