如何计算空白或0值的列数

时间:2016-03-21 11:58:15

标签: mysql sql

我是mysql的新手。请帮我解决以下要求。

表格示例: -

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

我希望答案为" 3"第一名是因为' lname'是空白的&qid1',' qid2'是0。

2 个答案:

答案 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;

答案 1 :(得分:1)

所以基本上你想要每个Id的计数是多少列为空,空白还是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