次のようなテーブルで、各顧客の最初の購入を選択しようとしています。
transaction_no customer_id operator_id purchase_date
20503 1 5 2012-08-24
20504 1 7 2013-10-15
20505 2 5 2013-09-05
20506 3 7 2010-09-06
20507 3 7 2012-07-30
達成しようとしているクエリから期待される結果は次のとおりです。
transaction_no customer_id operator_id first_occurence
20503 1 5 2012-08-24
20505 2 5 2013-09-05
20506 3 7 2010-09-06
最も近いのは次のクエリです。
SELECT customer_id, MIN(purchase_date) As first_occurence
FROM Sales_Transactions_Header
GROUP BY customer_id;
次の結果が得られます。
customer_id first_occurence
1 2012-08-24
2 2013-09-05
3 2010-09-06
しかし、残りの必要なフィールドを選択するときは、それらを GROUP BY 句に追加する必要があります。これにより、MIN からの結果が異なります。また、それ自体に参加しようとしましたが、何の進展もありませんでした。
集計関数を混乱させずに残りの相関値を取得するにはどうすればよいでしょうか?