是否可以编写一个查询,从同一查询中检索到的一组最小值中找到最大值?
通过减小值(将所需的最大值留在列表顶部)来排序最小值很容易,但我很好奇是否可以构造一个只返回该值而不返回其他值的查询。
检索最小值的查询:
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)进行小计。
有什么想法吗?
*编辑:我刚刚看到这篇文章http://www.programmerinterview.com/index.php/database-sql/find-maximum-value-without-using-aggregate/从粗略的快速阅读中可能适用。当/如果我发现某些东西时,我会更新。