勉強したことのメモ

webプログラマが勉強したことのメモ。

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

 - PHP, MySQL

  関連記事

MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)

あるシステムでMySQLの検索時に「WHERE test_column coll ...

クロスドメインな状況でiframeがIEのみ挙動がおかしくなる場合

iframeで別のドメインのサイトを表示させた場合に、firefoxやchrom ...

MySQLで月別に集計を行う。あと日付時刻関数。

現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...

composerでmonologとTwigをインストール

「composerで○○をインストール」というのをよく見かけるがcomposer ...

PHPで配列内から重複を削除する

やりたかった事はそのまま、配列内から重複を削除したかった。 ■参考サイト htt ...

PHPでコマンドを実行して画像を加工

PHPで画像をリサイズしたりサムネイルを作ろうとすると、 ソースが長くなって面倒 ...

PHPでゼロパディング

予め桁数を決めておいて、桁数未満の場合は0で埋めたい場合の処理。 str_pad ...

PHP5.4系でAPCが上手く動かなかったので5.5にアップデート&Zend OPcache導入

PHP5.3系から5.4系にアップデートしてから、WordPressがちょっと重 ...

MySQLでのエラーについて

エラーログをとるようになってから色々エラーを 見る機会が出来てきたのでメモ。 プ ...

MySQLで速度改善

よく見るけど実際に対面してみて難しさが分かった。 150万件ほどのデータがあって ...