でグループ化された最新の日付のレコードのSUMは、最新の日付の合計(終値)である各顧客のために閉じフェッチするクエリを作成したいと思います。
私を助けてもらえますか?
でグループ化された最新の日付のレコードのSUMは、最新の日付の合計(終値)である各顧客のために閉じフェッチするクエリを作成したいと思います。
私を助けてもらえますか?
downvotesの猛攻撃にもかかわらず、1つのアプローチでは、サブスクリプションを使用して、顧客の最新の日付に制限することができます。
SELECT
t1.customer_id,
SUM(closing) AS closing_sum
FROM yourTable t1
INNER JOIN
(
SELECT customer_id, MAX(entry_dt) AS max_entry_dt
FROM yourTable
GROUP BY customer_id
) t2
ON t1.customer_id = t2.customer_id AND
t1.entry_dt = t2.max_entry_dt
GROUP BY t1.customer_id
正確な結果が得られます。 entry_dtではなく、created_dtを考慮する必要があります。変更を行い、実装するだろう...ありがとうたくさん –
@tim
私は以下のようにクエリを変更しました。
SELECT
a.customer_id,
SUM(closing) AS closing_sum
FROM empty_accounting a
INNER JOIN
(
SELECT customer_id, MAX(created_dt) AS max_created_dt
FROM empty_accounting
GROUP BY customer_id
) b
ON a.customer_id = b.customer_id AND
a.created_dt = b.max_created_dt
GROUP BY a.customer_id
しかし、created_dtが秒単位で違うと心配ですが、合計されることはありません。
最新のcreated_dtのentry_dtを見つけて、各顧客のentry_dtの終了を合計する方法はありますか?
注:entry_dtはトランザクションが実際に発生した日付で、 で、created_dtはシステムでレコードが作成された日付です。ですから、created_dtフィールドを使用して最新のレコードを見つける方が良いと感じています
これは、スタックオーバーフローの仕組みではありません。私の答えが正しいか、あなたの問題がほぼ解決されたら、それを正しいものにしてください。 –
あなたの欲望の結果もここに入れてください –
何か試しましたか?予想される結果と試したコードを投稿してください。 – axiac
@axiac申し訳ありません、私はここで新しいです。画像を追加しました –