Tsql 从最小结果集中查找最大值的SQl查询

Tsql 从最小结果集中查找最大值的SQl查询,tsql,subquery,max,min,Tsql,Subquery,Max,Min,是否可以编写一个查询,从同一查询中检索的一组最小值中查找最大值 通过减少值(将所需的最大值保留在列表顶部)对最小值进行排序非常容易,但我很好奇是否可以构造一个只返回该值而不返回其他值的查询 检索最小值的查询: SELECT dbo.tblDevices.Status , L.Device_id , MIN(L.DateAndTime) As 'End Date' FROM dbo.tblDeviceLocation AS L JOIN dbo.tblDevices ON L.Device_id

是否可以编写一个查询,从同一查询中检索的一组最小值中查找最大值

通过减少值(将所需的最大值保留在列表顶部)对最小值进行排序非常容易,但我很好奇是否可以构造一个只返回该值而不返回其他值的查询

检索最小值的查询:

SELECT dbo.tblDevices.Status
, L.Device_id
, MIN(L.DateAndTime) As 'End Date'
FROM dbo.tblDeviceLocation AS L
JOIN dbo.tblDevices
ON L.Device_id = dbo.tblDevices.Device_id
GROUP BY L.Device_id, dbo.tblDevices.Status
我想找到这一行的最大分钟数。我曾想过尝试使用子查询,但我认为它不起作用,因为它返回N个最小值行数。然后我考虑使用COMPUTE,因为这可以被视为一个小计,但这也不起作用,因为你不能小计未分组的东西(L.DateAndTime)

有什么想法吗

*编辑:
我刚从一篇粗略的速读中看到这篇文章,它可能是适用的。当/如果我发现了什么,我将进行更新。

您可以使用ORDER BY,如果您使用的是SQL Server TOP 1,如果您使用的是MySQL,则必须在查询结束时使用LIMIT 1

SELECT TOP 1 dbo.tblDevices.Status
, L.Device_id
, MIN(L.DateAndTime) As 'End Date'
FROM dbo.tblDeviceLocation AS L
JOIN dbo.tblDevices
ON L.Device_id = dbo.tblDevices.Device_id
GROUP BY L.Device_id, dbo.tblDevices.Status
ORDER BY MIN(L.DateAndTime) DESC // order by max value

@斯内克·普利斯肯没问题,我们都有过这样的日子。如果这解决了您的问题,不要忘记将其标记为已接受的答案。