MySQL データベースの他のすべてのエントリを無視して、シリアルごとに最新のエントリを選択しようとしています。私が現在使用しているSQLコマンドは次のとおりです。
SELECT *,MAX(date) FROM `gps-log` GROUP BY serial DESC
これは、シリアル (完全) ごとに 1 つのエントリのみを返しますが、以下のサンプルのように、最新ではなく最初のエントリを取得しています。正しい最大日付が識別されますが、そのレコードは何らかの理由で取得されません。
pos elev serial date MAX(date)
-33.8710138,151.1924356 54.0m SDGH23465 2012-09-26 17:01:59 2012-09-27 12:14:23
-33.8707848,151.1925109 54.0m SDGH29648 2012-09-27 12:14:30 2012-09-27 12:21:41
クエリに DESC を追加しようとしましたが、実際にフェッチされた行ではなく、(予想どおり) 出力が再配置されただけです。私はさまざまな質問をたくさん見てきましたが、ほとんどの場合、複数のテーブルを扱っているか、日付などのより複雑なものでグループ化しており、このクエリを正しく機能させることができないようです。
ここでは、正しいシーケンスを取得する方法をクエリに伝える何かが明らかに欠けているので、どんな助けも大歓迎です!