ここでは、MySQL クエリを使用してきれいに解決しようとしている問題を簡単に説明します。これは、私が扱っている実際のテーブルではありません。
次のテーブルがある場合:
Name Buyer ID
John Fred 4
John Smith 3
Fred Sally 2
John Kelly 1
以下を返すクエリが必要です。
Name Buyer ID
John Fred 4
Fred Sally 2
「名前」でグループ化し、最新の行/購入者/ID を表示するようにします。
ネストされたselectステートメントを実行することでこれを実装しようとしました。最初に「ORDER BY ID DESC」を実行し、次に最も外側のSELECTで「GROUP BY NAME」を実行しました。そして、これは問題を解決するための回りくどい方法ですが、順序によって、正しい選択が返されるように思われました。残念ながら、「GROUP BY」は、「Buyer」列に予期されるエントリが含まれることを「保証」しません。
これをクエリとして実装するのに役立つ提案はありますか? 現時点では、大きなテーブル ダンプに対して非常に効率の悪い PHP 'バージョン' のクエリを実行していますが、これは間違いなく最良の選択ではありません。