我是mysql的新手。请帮我解决以下要求。
表格示例: -
--------+-----------+-----------+--------+---------+
Id. | fname | lname | qid1 | qid2 |
--------+-----------+-----------+--------+---------+
1 | atul. | | 0 | 0 |
--------+-----------+-----------+--------+---------+-
我希望答案为" 3"第一名是因为' lname'是空白的&qid1',' qid2'是0。
答案 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