postgresql
2017-05-11 16 views 0 likes 
0

私の目的は、サブクエリで顧客のグループのための最初のトランザクションを取得し、それらを平均化することです。最初のトランザクションは、PostgreSQL

SELECT DISTINCT ON (account_id) created_at AS "first_transaction_date" 
, account_id 
, money_amount 
FROM transactions 
WHERE status = 'accepted' 

と私は

first_transaction_date account_id Money_amount 
2017-05-01    1   25 

次のようなデータを取得しています私の問題は、これがこの顧客の最初のトランザクションではないと私は間違った情報を取得していますということです。これは私が使用していますクエリです。

ありがとうございました。事前に

おかげ

ステファン

P.S.これは私の初めてここに投稿しているので、私の謝罪、私は何も

+0

最小限のサンプルデータと所望の結果が –

答えて

0

を逃した場合は、何にソートされていない、とPostgreSQLは、作成順序になるように行の順序を保証することはできません。ちょうどこのようなORDER BY句を追加するのに十分でなければならない :

SELECT DISTINCT ON (account_id) created_at AS "first_transaction_date" 
, account_id 
, money_amount 
FROM transactions 
WHERE status = 'accepted' 
ORDER BY account_id, created_at 
+0

おかげで百万ジミー参考になります。それはうまくいった:) –

関連する問題