MySQLで特定の値を加算しつつNULL値の場合は0にする方法
2024/04/20
いくつかのコードに対して投票を行い、その合計値をスコアとして出したい。ただ、投票されなかったり開催直後は当然0になるはずだけど、MySQLではNULLが返される。そのため、特定の値を加算しつつNULL値の場合は0にする方法をメモ。
ソースコード
SELECT p.code , COALESCE(SUM(g.score),0) AS p_score FROM table_p AS p LEFT JOIN table_g AS g ON p.code = g.code WHERE p.e_code = xxxxxxxx GROUP BY p.code
COALECE
https://dev.mysql.com/doc/refman/8.0/ja/comparison-operators.html#function_coalesce
リストの最初の非 NULL 値を戻すか、非 NULL 値がない場合は NULL を戻す。
参考サイト
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1014972535
関連記事
-
-
MySQLでカラム内容によって条件分岐させたい場合の対応方法
MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...
-
-
MySQLでユニークキーをはる
MySQLでseqとcodeみたいなものをあわせて ユニークキーをはりたかった。 ...
-
-
MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法
MySQLでテーブルのカラム名やカラムの型等、詳細情報を取得する方法をメモ。 & ...
-
-
MySQLで特定カラムの
タグを改行コードに一括置換させる方法MySQLで特定カラムの<br>タグを改行コードに一括置換したかった ...
-
-
MySQLにてSELECT時にdate型のカラムから年齢を計算し取得する方法
MySQLにdate型のカラムに誕生年月日が格納されており、そこから年齢を計算し ...