次のような sensorvalue というテーブルがあります。
station_id sensor_id Timestamp Value
----------------------------------------------------------
1 1 2013-09-04 12:00:00 12.2
1 2 2013-09-04 12:00:00 13.1
1 3 2013-09-04 12:00:00 13.2
1 1 2013-09-04 12:05:00 12.1
1 2 2013-09-04 12:05:00 14.1
1 3 2013-09-04 12:05:00 13.2
1 1 2013-09-04 12:10:00 12.5
1 2 2013-09-04 12:10:00 13.3
1 3 2013-09-04 12:10:00 14.1
station_id 1 のステーションの 3 つのセンサーすべての最新の値をすべて取得する MySQL クエリが必要です。1 つの MySQL ステートメントでこれが可能かどうか疑問に思います。
テーブルからデータを取得できましたが、効率的な方法ではありません。ここで、最初にステーション 1 のすべての異なるセンサーを SELECT し、その後、センサーごとに別の MySQL SELECT ステートメントを呼び出します。一部のステーションには 10 個を超えるセンサーがあるため、このアプローチでは、データベースからデータを取得するために少なくとも 11 個の MySQL ステートメントが必要です。
これを 1 つの MySQL ステートメントに含めたいと思います。それは可能ですか?そしてどうやって?