ホームページ >データベース >mysql チュートリアル >SQLで毎月の条件に基づいて現金価値を合計するにはどうすればよいですか?

SQLで毎月の条件に基づいて現金価値を合計するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-23 15:41:15574ブラウズ

How to Sum Cash Values in SQL Based on a Monthly Condition?

条件付き SQL 合計 (月ベースの計算を含む)

一意のトランザクションごとに合計現金を計算する大規模な SQL ステートメントがあるとします。次の行を使用して ID を入力します:

select sum(cash) from Table a where a.branch = p.branch 
and a.transID = p.transID) TotalCash

ここで、合計現金金額のみに明細書を変更する必要があります。 ValueDate が先月以内のもの。解決策は次のとおりです:

select sum(CASE WHEN ValueDate > @startMonthDate THEN cash ELSE 0 END) 
from Table a where a.branch = p.branch 
and a.transID = p.transID) TotalMonthCash

説明

CASE ステートメントは、検索された CASE 式構文を使用してブール式を評価します (この場合、WHEN ValueDate > @ startMonthDate) を返し、対応する結果 (ここでは現金) を返します。条件が満たされない場合は、代わりに 0 を返します。

最適化のヒント

パフォーマンスが懸念される場合は、依存サブクエリの代わりに JOIN および GROUP BY の使用を検討してください。効率の向上のために。

以上がSQLで毎月の条件に基づいて現金価値を合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。