0

userほとんどのフィールドが空の列を持つテーブルdataがあるため、基本的にNULLです。no: その列にデータが存在する行を数えたいと思います。

ONE WAY : したがって、no: NULL フィールドを数えて、合計行から減算できると思いました。

別の方法:占有されているフィールドを直接数えることができます(しかし、どうやらわかりません)。だから私は最初の方法のためにこれを書いた....しかし、それが与えるカウントは0です。NULLなどを識別することはできません。

$sql = "SELECT COUNT(CASE WHEN data = '' THEN 1 END) AS null_count, FROM users";
$real= mysql_query($sql);
while($row = mysql_fetch_assoc($real)) {
            echo "null Count: {$row['null_count']}". '<br />';
}
4

4 に答える 4

2
SELECT SUM(IF(data IS NULL, 1, 0)) AS null_count FROM users
于 2012-07-11T15:35:39.760 に答える
0

は空の文字列と等しくないIS NULLため、使用する必要があります。NULLにも等しくありませんNULL!

SELECT  COUNT(CASE WHEN data IS_NULL THEN 1 END) AS null_count
于 2012-07-11T15:28:14.330 に答える
0

空でないものを見つけるには、次のようにします。

SELECT
   COUNT(CASE WHEN len(data) > 0 THEN 1 else 0 END) AS not_empty_or_null_count,
FROM
    users

すべてのスペースを含むアイテムをカウントしたくない場合は、データに対して len() の前に trunc() を呼び出すことができます

同様の質問(SQL Serverの場合)

使用されていないフィールドを検索する (すべて null を持つ)

于 2012-07-11T15:28:21.073 に答える
0

どんな理由でも

select count(field) from table where field is not null;

足りませんか?

于 2012-07-11T15:29:41.983 に答える