Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL Single Table Count()即使为NULL也显示_Mysql_Sql - Fatal编程技术网

MYSQL Single Table Count()即使为NULL也显示

MYSQL Single Table Count()即使为NULL也显示,mysql,sql,Mysql,Sql,我一直在谷歌搜索——我可能只是太傻了,无法理解答案 我在mysql中有一个表-问题 +-------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------+------+-----+---------+----------

我一直在谷歌搜索——我可能只是太傻了,无法理解答案

我在mysql中有一个表-问题

+-------------+---------------+------+-----+---------+----------------+
| Field       | Type          | Null | Key | Default | Extra          |
+-------------+---------------+------+-----+---------+----------------+
| id          | int(11)       | NO   |
| status      | varchar(255)  | YES  |
+-------------+---------------+------+
每个问题都有一个状态

我正在尝试获取一个select以统计所有问题并按状态列出它们:

选择状态,将(*)按状态从(日期(记录时间)>=)分组的问题中计算为“总计”

共有5种不同的状态-

报告 不固定 固定的 升级 提及

问题是-我的选择仅在计数>0时显示状态。即使count=null,如何显示所有状态

我试过了,但运气不好。我也看到人们谈论左连接解决方案,但那是多表问题


非常感谢

解决方案是您已经跨入的:一个具有所有这5种状态的表的
左连接。如果您没有这样的表,您可以将其创建为永久或动态(每次需要时):


您将需要一个额外的表(例如,称为Status)来存储所有状态的列表,即一个与issues表中相同类型的字段,并确保在该字段上放置索引

那么下面的SQL应该可以做到这一点:

select statuses.status,count(issues.id) from issues right join statuses on issues.status=statuses.status group by statuses.status
附加表的优点是,如果您决定使用其他状态,只需将其添加到表中,而无需更改任何现有SQL语句。

这是一个多表问题。您需要一个列出状态的表和一个包含数据的表。
select statuses.status,count(issues.id) from issues right join statuses on issues.status=statuses.status group by statuses.status