gpt4 book ai didi

MySQL IFNULL 不返回默认值

转载 作者:行者123 更新时间:2023-11-29 00:38:12 33 4
gpt4 key购买 nike

id    category    active------------------------1     1           12     3           03     3           14     3           15     1           0

我想选择每个类别的总计数每个类别中的活跃计数

因为没有category=2,所以我用了IFNULL,但是没有返回0

SELECT    IFNULL(COUNT(id), 0) AS total,    SUM(CASE WHEN active = 1 THEN 1 ELSE 0 END) AS activeFROM    tableWHERE    category IN (1,2,3)GROUP BY    category

结果返回了 2 个数组,而不是预期的 3 个

// result from category=1Array(    [total] => 2    [active] => 1)//  result from category=3Array(    [total] => 3    [active] => 2)

如何将 category=2 放入结果中

//  result from category=2Array(    [total] => 0    [active] => 0)

最佳答案

您的查询返回了正确的结果,只是不是您期望的结果,COUNT 是一个分组子句,只对现有值进行分组,它不会返回 = 到 category=2,因为该类别不存在。

关于MySQL IFNULL 不返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394676/

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