2016-03-21 8 views
0

私はmysqlを初めて使用しています。以下の要件を解決するために私を助けてください。空白または0の値を持つ列の数を数える方法

表の例: - 'LNAME' は空白と 'qid1' ですので、私は第一のIDの "3" との答えが欲しい

--------+-----------+-----------+--------+---------+ 
Id.  | fname | lname | qid1 | qid2 | 
--------+-----------+-----------+--------+---------+ 
1  | atul. |  | 0 | 0 | 
--------+-----------+-----------+--------+---------+- 

は、 'qid2' はあなたが使用することができます0

答えて

2

ですほとんどのデータベースではcaseです。しかし、MySQLはあなただけのブール式を追加することができショートカットが用意されています

select t.*, 
     ((fname is null or fname = '') + 
     (lname is null or lname = '') + 
     (qid1 is null or qid1 = '') + 
     (qid2 is null or qid2 = '') 
     ) as numBlankOrNull 
from t; 
+0

ありがとうございましたGordon ....それは機能します... –

1

をだから、基本的にあなたはどのように多くの列のIDごとにカウントがnullで欲しい、空白または0?

SELECT T.id, 
     ((t.fname is null or t.fname ='') 
     +(t.lname is null or t.lname = '') 
     +(t.qid1 is null or t.qid1 = 0) 
     +(t.qid2 is null or t.qid2 = 0)) as cnt 
FROM YourTable t 
関連する問題