gpt4 book ai didi

mysql - 当计数为空时,用来自 table1 的计数更新 table1

转载 作者:行者123 更新时间:2023-11-29 06:49:29 25 4
gpt4 key购买 nike

我有一个查询更新 table1 中的一行,来自另一个表的 COUNT(*) -

UPDATE t1
SET a=(SELECT COUNT(b) FROM t2 WHERE c=10 GROUP BY c))
WHERE id=20

问题是如果 c=10 的 t2 中没有没有条目,查询本身就会失败,因为 SELECT 返回 null 或什么都没有。即使 sub-select 语句返回 null,是否有办法使这项工作正常进行?

P.S. 我试过使用 IFNULL,但看起来也不起作用。

最佳答案

MySQL 的众多好奇之一是,如果删除 GROUP BY 子句(如果在没有显式 GROUP BY< 的情况下使用聚合函数,MySQL 将隐式分组所有行 子句),即使没有基础记录,它也会始终返回聚合结果;对于 COUNT() 函数,它根据需要返回结果 0:

UPDATE t1 SET a=(SELECT COUNT(*) FROM t2 WHERE c=10) WHERE id=20

查看 sqlfiddle .

关于mysql - 当计数为空时,用来自 table1 的计数更新 table1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16448140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com