我有这个简单的 MYSQL 表 1:
id
1
2
3
还有这个表 2:
id | question | answer
1 | how |
2 | are | fine
3 | you | ok
这个简单的查询:
SELECT table1.id,COUNT(answer NOT NULL) FROM table1 LEFT JOIN table2
ON table1.id = table2.id
我想计算非空答案字段。我试过 NOT NULL 但它不起作用,因为 answer
列是 NOT NULL
并且 where 不适用,因为它将导致主查询不返回任何内容
最佳答案
您可以使用 CHAR_LENGTH(str)函数来检查值的长度。 使用以下查询:
SELECT COUNT(answer) FROM table WHERE CHAR_LENGTH(answer)>0;
编辑:
你可以试试这个查询:
SELECT COUNT(answer) FROM table1 LEFT JOIN table2
ON table1.id = table2.id AND CHAR_LENGTH(table2.answer)>0
关于mysql - 计算MYSQL中的非空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25934309/