ホームページ >データベース >mysql チュートリアル >タイムスタンプに基づいて最新のセンサー データを選択するにはどうすればよいですか?

タイムスタンプに基づいて最新のセンサー データを選択するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-23 22:57:151035ブラウズ

How to Select the Most Recent Sensor Data Based on Timestamps?

タイムスタンプ キーに基づいて最近の値を選択する

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。