勉強したことのメモ

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

MySQLで加算しつつNULL値は0にする

   2014/07/02  PHP MySQL

いくつかのコードに対して投票を行い、
その合計値をスコアとして出したい。

ただ、投票されなかったり開催直後は当然
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

 - PHP MySQL

  関連記事

MySQLでカラム数の異なるテーブルを結合する(UNION)

MySQLでカラム数の異なるテーブル同士をUNIONで結合させたかった。ただ、何 ...

MySQLでグループ化したものを条件で絞る(HAVING)

正規化したテーブルがあってその中には idとtagのカラムがある。 でtagの方 ...

さくらインターネットでCronからmysqldumpすると0バイトのファイルが生成される

さくらインターネットのレンタルサーバでmysqldumpした結果をファイルとして ...

MySQL/Apacheの再起動

忘れないようにメモ。 ■MySQL service mysqld restart ...

mysqlで正規化できない時はシリアライズ使う

アンケートか何かに機能追加している際、配列を カンマ区切りで結合して文字列でDB ...