条件付き ValueDates を使用した現金トランザクションの合計
大規模な SQL ステートメントを使用する場合、特定の条件の集計値を計算することが必要になることがよくあります。この質問は、対応する ValueDates が指定された期間 (つまり、先月) 内にあるという条件で、SUM 関数を使用してテーブルの現金価値を合計する方法について説明します。
これを実現するには、次のコードを使用します。 SUM 関数を変更して、ValueDate フィールドを評価する CASE 式を含めます。 ValueDate が先月の開始日より大きい場合、現金価値は合計に含まれます。それ以外の場合は除外されます。変更されたコードは次のとおりです。
SUM(CASE WHEN ValueDate > @startMonthDate THEN cash ELSE 0 END)
この更新されたコードにより、指定された範囲内の ValueDates を持つ現金値のみが合計に含まれるようになります。計算は、検索された CASE 式構文を使用して効率的に実行され、ブール式を評価して結果を決定します。
パフォーマンスが問題になる場合は、依存サブクエリの代わりに JOIN と GROUP BY を使用します。このアプローチにより、多くの場合、複雑な SQL ステートメントの実行速度が向上します。
以上がSQL で条件付き ValueDate に基づいて現金取引を合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。