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で全角半角を区別せずに検索する方法(collate utf8_unicode_ci)
あるシステムでMySQLの検索時に「WHERE test_column coll ...
-
-
お名前.comのレンタルサーバ(SDサーバ)にMySQLデータのインポートする方法
お名前.comのレンタルサーバにそこそこ大きいサイズのMySQLデータを移行した ...
-
-
MySQLのバイナリログ(/var/lib/mysql/binlog)を適切に削除する方法
レンタルしているVPS内のファイルを整理していると「/var/lib/mysql ...
-
-
MySQLで文字列を置換する方法
MySQLで文字列の置換を行いたかった。以下に方法をメモ。 目次1 ...
-
-
MySQLでtime型データからint型データの減算を行い、減算後のデータで条件検索する方法
MySQLでtime型データからint型データの減算を行い、減算後のデータを検索 ...