如何在MySQL中执行以下伪代码:
if (a IS NOT NULL)
{
GROUP BY (id)
num = COUNT(*)
} else {
num = 0
}发布于 2014-01-27 02:21:15
注意你正在尝试做的事情.....
如果您想计算非空值,请检查those examples,它将如下所示
COUNT(NULLIF(a, ''))如果需要更完整的计数,还可以考虑使用Case
CASE
WHEN a = 'something' COUNT(1)
ELSE NULL编辑
如果您想根据某个值调用某些查询,请考虑使用存储过程/函数
发布于 2014-01-27 02:49:13
这可能是您要查找的代码:
select num := count(distinct id)
from t;如果没有行,这会将num设置为0。
如果您真的想要与NULL进行比较
select num := (case when a is not null then count(distinct id) else 0 end)
from t;注意:这里假设a和num不是数据库中的列。
https://stackoverflow.com/questions/21367318
复制相似问题