次の構造の MySQL データベースがあります。
表customers
:
- id (整数)
- 名前 (文字列)
- ...
表orders
:
- id (整数)
- 顧客 ID (整数)
- タイムスタンプ_unix (整数)
- 題名
ここで、すべての顧客とその最新の注文を選択したいと考えています。次のステートメントを試しました。
SELECT a.id, a.name, b.timestamp_unix, b.title FROM customers AS a JOIN orders AS b ON a.id = b.customerID GROUP BY a.id
これは、最新の注文 (およびそのタイトル) を取得しないことを除いて正常に機能しますが、最初の注文としてデータベースに挿入された最初の注文です。
では、どうすれば最新の注文 (最高id
と最高timestamp_unix
) を取得できますか? タイムスタンプのみを使用することもできますMAX(b.timestamp_unix)
が、どうすれば一致するのb.title
ですか?
ありがとうございました!