• ベストアンサー

特定のフィールドにデータが入っている件数を表示したい

ageというフィールドにデータが入っているものだけを抽出してその件数を表示したいのですが、どのようなsql文を書けばいいでしょうか? ageフィールドは、種別「varchar(255)」、NULL「いいえ」、デフォルト値「空欄」になっています。 $sql = "SELECT COUNT(*) AS cnt FROM table where 'age' is not null;"; これではうまくいきませんでした。ageのデフォルト値をNULLにすれば解決するのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • masa6272
  • ベストアンサー率66% (93/140)
回答No.1

空欄というのは、デフォルトを指定しなかったという意味でしょうか? NOT NULLを指定した場合、デフォルトを用いた挿入は普通はできません。INSERT時に値の指定を求められます。 空文字列が入っているなら、 SELECT COUNT(*) FROM table WHERE age <> ""; NULLが入っているなら SELECT COUNT(age) FROM table; でできます。 COUNTに式を指定すると、NULLでないものだけを数えます。 なおSHOW CREATE TABLEで詳細なテーブルの情報を取得できます。もし、デフォルトが設定されていれば、確認できます。

関連するQ&A