gpt4 book ai didi

mysql - 使用 count case 且列为 null 时如何返回类似 '0' 的值?

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

我将其用作更大查询的一部分

   LEFT JOIN ( SELECT value, COUNT(CASE WHEN value = '1' THEN '1' END) AS sum )

问题是,由于这是左连接,因此并非所有结果都存在该值。我希望当该值不存在时返回“0”。我尝试过使用这样的东西:

LEFT JOIN ( SELECT value, COUNT(CASE WHEN value = '1' THEN '1' ELSE '0' END) AS sum )

但这仍然只是返回 null。如果该值为 null 或者当该结果的数据库中不存在该值时,如何返回“0”?如果值不是“1”,为什么我不能使用 ELSE 返回“0”,是因为该值与“1”没有什么不同,而是它不存在?

谢谢。

最佳答案

您不能在 LEFT JOIN 中执行此操作,因为不存在行 - 因此该值默认为 NULL

相反,当您引用该值时,请使用COALESCE():

select coalesce(sum, 0)
. . .

关于mysql - 使用 count case 且列为 null 时如何返回类似 '0' 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53767740/

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