この状況では、SQL文が出にくいです。 いつでも道路に複数の車両があるとします。 これらのトリップのそれぞれがトリップテーブルにあります。 | current_position2つのテーブルから選択して1つのテーブルから最高の価値を得る方法は?
ID: 各車両は定期的に
は、2つのテーブルがあり、現在の場所(緯度、経度)のアップデートを送信しますtrip_id | update_time | lat | LON
旅行
ID |状態
current_positionは、私は、緯度、 trip_idを持つ、結果を得るために=「DRIVING」 地位を持っており、最新の値を持っている必要があり、各旅行のための経度
を必要とする各旅行
ための複数の更新を持っています current_position
最新の値私はupdate_timeの最高値を意味します。 私はGROUP BYを試してみましたが、結果は必ずしも最新のものではありませんでした。 update_time DESCとGROUP BY trip_idを組み合わせることはできません。
300回の旅行が現在進行中であるのであれば、このクエリで300サブクエリがあるでしょうか? –
300レコードが返されてもパフォーマンスは問題ありません。それを試してみてください。 – nycdan
DRappは良い点です。 Max(update_time)ではなくMax(id)を使用して、大きなテーブルでより良いパフォーマンスを得ることができます。更新は、私が解析し、一つ一つを挿入し、データのチャンクで衛星ベースのサービスから来るので、理論的には高いidがnecessaraly最新の更新時間を意味するものではありませんので、 – nycdan