同じクエリで取得された最小値のグループから最大値を見つけるクエリを作成することは可能ですか?
値を小さくして最小値を並べ替えるのは簡単です(リストの一番上に目的の最大値が残ります)が、その値だけを返し、他には何も返さないクエリを作成できるかどうか知りたいです。
最小値を取得するクエリ:
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/に出くわしました。これは、大まかなクイックリードから適用できる可能性があります。何かを発見したとき/見つけたら更新します。