私は2つのテーブルを持っています:
私が持っているテーブルの顧客:
1, A
2, B
テーブル購入:
01-01-2019, 10, 1
02-01-2019, 20, 2
03-01-2019, 30, 2
各顧客の最新の購入を返す単一のクエリを実行したいと思います。だから私は取得したい:
1, 01-01-2019
2, 03-01-2019
私は成功せずに別の選択を試しました:
select max(purchase.date), customer.id
from customer, purchase
where purchase.c_id = customer.id
しかし、結果は次のとおりです。
2, 03-01-2019
そのため、各行の最大値を取得できません...
出来ますか?手伝って頂けますか?
集計ではなくフィルタリングをお勧めします:
select p.*
from purchases p
where p.date = (select max(p2.date) from purchases p2 where p2.c_id = p.c_id);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加