我有一个表,其中包含不同列中某些属性的行。列A可以是1或0.列B可以是`,null或具有值。
我想计算表中包含A的行数为1的行数,表B中列B为“或”的行数,以及列B中具有的行数条目不等于''且不等于null。
是否可以将所有内容放入单个查询中,还是必须编写三个不同的查询?
我正在使用mysql。谢谢。
答案 0 :(得分:1)
您的B
条件会计算所有行数,因此您可以通过一次扫描完成。
SELECT COUNT(CASE WHEN A=1 THEN 'X' END),
SUM(CASE WHEN B='' OR B IS NULL THEN 1 ELSE 0 END),
SUM(CASE WHEN B='' OR B IS NULL THEN 0 ELSE 1 END)
FROM YourTable