COUNT関数の引数にNULLが入る場合について
SQLで行数を数える時に利用する COUNT
関数で一番使い慣れているのは COUNT(*)
なのですが、 COUNT(col)
や、COUNT(1かNULLになる式)
といった形を見かけたのでメモ。
COUNT(*)
は行数をカウントするCOUNT(col)
はcolの値がNULLの行はカウントしない- resfs: http://nippondanji.blogspot.jp/2010/03/innodbcount.html?m=1
- フラグが立っているかどうかでカウントする条件を分ける、みたいなことをしたい場合はわかりやすさのために
COUNT(1かNULLになる式)
といった形で書くのかも
見かけた時は面白いなと思ったのに短い。。