多くの返信や同様の質問を読みましたが、自分の状況に適用できないようです。平均して 10,000 レコードで、常に変化しているテーブルがあります。deviceID
これには、約 20 の一意の値を持つと呼ばれる列、 と とdateAndTime
を含む他の多くの列が含まstatus1
れstatus2
ます。最新の dateAndTime を持つレコードを表示して、deviceID ごとに 1 つのインスタンスを分離する必要があります。これは、次を使用してうまく機能します。
select DISTINCT deviceID, MAX(dateAndTime)
from MyTable
Group By deviceID
ORDER BY MAX(dateAndTime) DESC
(上記のステートメントからDISTINCTを省略しても同じ結果が得られることに気付きました)
ただし、このステートメントを展開してフィールド ステータス フィールドを含めることはできません。ステートメントにエラーが発生したり、結果が正しくなかったりすることはありません。INとEXISTSおよび構文を使用して行を分離しようとしましたが、すべてうまくいきませんでした。結果に一意の deviceID、最新のレコードの日付、およびstatus
それらの一意のレコードに関連付けられた対応するフィールドが表示されるように、このクエリをネストまたは書き直す方法を考えています。