勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

MySQLで特定の値を加算しつつNULL値の場合は0にする方法

   2024/04/20  MySQL

いくつかのコードに対して投票を行い、その合計値をスコアとして出したい。ただ、投票されなかったり開催直後は当然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にてUUIDを発行しプライマリキー(主キー)にする方法

普段MySQLでプライマリキー(主キー)を使う場合、オートインクリメントを利用し ...

SSH接続でMySQLにダンプファイルをインポートする方法

phpMyAdminやAdminerが入っていなかったり、ダンプファイルのサイズ ...

MySQLのトリガーを使用して特定のテーブルの操作を行った際に別テーブルにログを残す方法

MySQLにトリガーという機能があるらしくどのようなものか調べたところ、事前に「 ...

MySQLでtext型カラムに入っている数値をint型としてソートする

MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...

MySQLでIPアドレスを数値として入れると変な値になる場合の対処方法

MySQLでIPアドレスをINET_ATON関数を用いてINT型に変換し格納する ...