MySQLで加算しつつNULL値は0にする
2014/07/02
いくつかのコードに対して投票を行い、
その合計値をスコアとして出したい。
ただ、投票されなかったり開催直後は当然
0になるはずだけど、MySQLではNULLが返される。
よってPHPでどう扱ったらよいものか……となったのでメモ。
■ソース
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 = 67
GROUP BY p.code
■COALECE
リストの最初の非 NULL 値を戻すか、非 NULL 値がない場合は NULL を戻す。
■参考サイト
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1014972535
http://dev.mysql.com/doc/refman/5.1/ja/comparison-operators.html
関連記事
-
プリペアドステートメント
個人的に得た内容として、SQL文だけ先にDBに送って、 変数は後で送る。だからS ...
-
MySQLでデータベース単位とテーブル単位のデータサイズ(容量)の調べ方
VPSの各種ファイルを整理している際に「MySQLも不要なデータを削除すればいい ...
-
MySQLでテーブルの詳細情報を取得
MySQLでテーブルの詳細情報を取得 desc テーブル名; ■サンプル mys ...
-
MySQLiで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法
phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...
-
MySQLでランダムに取得
SELECT カラム名 FROM テーブル名 ORDER BY RAND() L ...