gpt4 book ai didi

sql-server - 在 SQL Server 中查找最大值的时间

转载 作者:行者123 更新时间:2023-12-03 11:13:22 25 4
gpt4 key购买 nike

我有一个表 Table1,其中包含字段 TimeStamp 和 Humidity,其值为:

时间戳
'2010-09-29 11:05:29.6'
'2010-09-29 11:05:29.7'
'2010-09-29 11:05:29.8'
'2010-09-29 11:05:29.9'
'2010-09-29 11:05:30.0'

湿度
15.291
17.379
16.857
16.335
15.813

我想运行一个查询,在湿度达到最大值时返回 TimeStamp 的值。在此示例中,它将返回“2010-09-29 11:05:29.7”,因为此时湿度是其最高值 17.379。我也想限制时间范围,所以它会像

SELECT _TimeStamp from Table1 
WHERE Humidity = MAX(Humidity) AND
_TimeStamp >= '2010-09-29 11:05:29.6' AND
_TimeStamp <= '2010-09-29 11:05:30.0'

但这会产生一个错误,即在 where 子句中不允许聚合。这个查询应该怎么写才正确?

最佳答案

SELECT TOP 1 _TimeStamp
from Table1
WHERE
_TimeStamp BETWEEN '2010-09-29 11:05:29.6' AND '2010-09-29 11:05:30.0'
ORDER BY Humidity DESC

或者 SELECT TOP 1 WITH TIES _TimeStamp 如果您想恢复所有匹配最大湿度的时间戳。

对于更复杂的分组场景,您应该研究排名函数,例如 row_number

关于sql-server - 在 SQL Server 中查找最大值的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com