gpt4 book ai didi

MYSQL 单表 Count() 即使它 = NULL 也显示

转载 作者:可可西里 更新时间:2023-11-01 08:36:12 27 4
gpt4 key购买 nike

我一直在搜索整个谷歌 - 我可能只是愚蠢地理解答案。

我在 mysql 中有一个表 - 问题。

+-------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO |
| status | varchar(255) | YES |
+-------------+---------------+------+

每个问题都有一个状态。

我正在尝试选择一个选项来计算所有问题并按状态列出它们:

SELECT status,COUNT(*) as 'total' FROM issues WHERE (DATE(logged_at) >= ) GROUP BY status

有5种不同的状态——

报告不固定固定的升级推荐

问题是 - 如果计数 > 0,我的选择只显示状态。即使计数 = null,我如何显示所有状态?

我试过 IFNULL 但没有成功。我也看到有人谈论左连接解决方​​案,但那是多表问题。

非常感谢!!!

最佳答案

解决方案就是您所遇到的问题:来自具有所有这 5 种状态的表的 LEFT JOIN。如果您没有这样的表,您可以永久创建或动态创建(每次需要时):

SELECT 
st.status
, COUNT(issues.status) AS total
FROM
( SELECT 'Active' AS status UNION ALL
SELECT 'Inactive' UNION ALL
...
SELECT 'Super'
) AS st
LEFT JOIN
issues
ON issues.status = st.status
AND issues.logged_at >= ? -- no reason to use DATE() function here
GROUP BY st.status ;

关于MYSQL 单表 Count() 即使它 = NULL 也显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11830295/

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