質問: count(1)とcount(*)の違い 初心者です。 以下のsql文の違い及びcount(1)の1が何を表しているのか 教えて頂けないでしょうか? select count(*) from table select count(1) from table また、参考しやすいサイト等ありましたら教えて頂けないでしょうか?
回答: count(*)はnullを含む件数 count(expr)とcount(all expr)はexpr列のnullが含まない件数 count(distinct expr) expr列の種類(null以外) です。 たまにcount(1)の記述を確かに見受けます。 これは「select 1 from 」でカウントした結果と同じです。 (つまり、count(*)と同じ件数になるはず) #ためしにcount(distinct 1)とかすると1になるはずです #1番目の列ではないはず