似乎无法让这个工作。如果计数为空,我想将其设置为零...否则将其设置为计数。我在代码的另一部分添加了多个计数,因此在执行此操作时不能有空值。
$table = "
...
LEFT JOIN
(SELECT user_id, IF(count(user_id) = '(null)',0,count(user_id)) as t1count
FROM screenshot_logs
GROUP BY user_id) as t_screenshots
on t_screenshots.user_id = users.user_id
...
";
最佳答案
在外部查询中,您可以使用 NULL
函数将 IFNULL()
替换为零,例如
SELECT ...
, IFNULL(v.t1count,0) AS t1count
FROM ...
LEFT
JOIN ( SELECT ... AS t1count
...
) v
ON ...
外部查询返回的 NULL 不是来自内联 View 查询。 NULL 是
LEFT [OUTER] JOIN
操作找到“不匹配”的结果。如果您在外部查询的其他表达式中引用
v.t1count
,您也可以用 NULLIF(v.t1count,0)
替换这些引用。关于mysql - 如果计数值为空,则将其设置为零 - sql select 语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23618616/