ホームページ >データベース >mysql チュートリアル >タイムスタンプに基づいて最新のセンサー データを選択するにはどうすればよいですか?
タイムスタンプ キーに基づいて最近の値を選択する
GROUP BY と max() を使用した最初のアプローチは原理的には正しかったですが、SQL 構文非集計列を GROUP BY 句に含めるか、集計で使用する必要があります。 function.
正しい解決策には、各センサーの最大タイムスタンプを選択し、それをサブクエリで使用して対応するセンサー データを取得することが含まれます。
SELECT sensorID, MAX(timestamp) AS latest_timestamp, sensorField1, sensorField2 FROM sensorTable GROUP BY sensorID
このクエリは、各センサーの最大タイムスタンプを取得します。センサー。次に、ネストされたクエリでこのサブクエリを使用して、そのタイムスタンプを持つすべてのセンサーを取得できます。
SELECT * FROM sensorTable WHERE timestamp = ( SELECT MAX(timestamp) FROM sensorTable WHERE sensorID = sensorTable.sensorID )
この 2 番目のクエリの結果は、最新のタイムスタンプと関連するセンサー データを含む各センサーの 1 行になります。
以上がタイムスタンプに基づいて最新のセンサー データを選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。