[英]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.