MySQL - 即使计数为零,也将结果与列表匹配

标签 mysql sql join inner-join union

我有一个结果列表,可能只显示少数几个州,但我每次都需要显示完整的州列表。

结果如下:

AK 1
AL 5
CA 3
...
WV 4
WY 6
UN 10

但应该返回为:

AK 1
AL 5
AR 0
AZ 0
CA 3
CO 0
CT 0
...
WV 4
WY 6
UN 10

这只是对状态列表进行内部连接以确保始终存在计数为零的状态的问题吗?我没有州表,但我有“AK”、“AL”、“AR”等州列表。我不确定是否可以这样加入。该查询太大而无法发布,但如果需要,我会看看是否能想出一些东西。

最佳答案

您可以LEFT JOIN到状态列表,例如:

SELECT a.St
      ,COUNT(b.St) AS Ct
FROM State_List a
LEFT JOIN Other_Table b
  ON a.St = b.St
GROUP BY a.St

LEFT JOIN 将从连接左侧的表中返回非连接记录,在本例中为状态列表。然后我们 COUNT() 表中可能连接也可能不连接的字段。

关于MySQL - 即使计数为零,也将结果与列表匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28424324/

相关文章:

php - 修改分页排序方法以更改每页的行数

php - 如何在php mysql中显示依赖于下拉子类别的父类别

mysql - 使用 JOIN USING 查询时出错

php - 如何在代码中使用连接?

mysql - 如果 current_user 将帖子标记为 'hidden',则独立隐藏帖子

mysql - 用随机数更新记录

python - 使用类似 SQL 的 IN 子句过滤 Pyspark DataFrame

sql - SQL查询的月份和年份的Where子句

Mysql 检索去年同月的订单

mysql - 主/外键;使用子查询连接多个表