[英]SQL select MAX value from last day
我有一个带有DateTime和Value列的表。 我需要从最后一天(最新)中选择最大值。 我能想到的最好的方法是三个步骤:
SELECT MAX(DateTime) FROM MyTable
SELECT MAX(Value) FROM MyTable WHERE DateTime>date
有一个更好的方法吗?
一个查询中的三个步骤是
SELECT MAX(Value)
FROM MyTable
WHERE DateTime >= CAST( (SELECT MAX(DateTime)FROM MyTable) AS DATE)
现在,查找最大日期可能是一个非常昂贵的查询,因此,如果您实际上是在昨天的最大值之后,则应改用CURRENT_DATE
,即
WHERE DateTime >= ( CURRENT_DATE - 1 ) AND DateTime < CURRENT_DATE
如果您指的是今天的最高价值,那么您可以使用:
SELECT MAX(value)
FROM MyTable
WHERE CAST(DateTime AS DATE) = CURRENT_DATE
你能做到吗?
SELECT MAX(Value)
FROM MyTable
WHERE DateTime IN (
SELECT MAX(DateTime)
FROM MyTable
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.