我有一个结果列表,可能只显示少数几个州,但我每次都需要显示完整的州列表。
结果如下:
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/