MySQL では、値が見つからない場合、SUM 関数は NULL を返すことがあります。これは、関数で代わりに 0 を返したい場合に問題になる可能性があります。
次のクエリを考えてみましょう:
SELECT SUM(Column_1) FROM Table WHERE Column_2 = 'Test'
Column_2 のエントリにテキスト ' が含まれていない場合
この問題を回避するには、COALESCE 関数を使用します。 COALESCE は、値とデフォルト値の 2 つの引数を取ります。値が NULL の場合、COALESCE はデフォルト値を返します。
SUM で COALESCE を使用する方法は次のとおりです。
SELECT COALESCE(SUM(Column_1), 0) FROM Table WHERE Column_2 = 'Test'
ここで、Column_2 にテキスト 'Test' が含まれるエントリがない場合、この関数は NULL ではなく 0 を返します。
これは、SQL Fiddle で実際に動作している様子を確認できます: http://www.sqlfiddle.com/#!2/d1542/ 3/0
この例では、SUM 関数で値が見つからない場合に COALESCE を使用して 0 を返す方法を示します。
COALESCE 関数を使用できます。任意の値または式を使用します。これは、さまざまな状況で NULL 値を処理するために使用できる多用途ツールです。
以上がMySQL で NULL SUM の戻りを回避するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。