小编Pau*_*man的帖子

MYSQL:带GROUP BY,LEFT JOIN和WHERE子句的COUNT不返回零值

我确信这有一个非常简单的答案,但我似乎无法找到它(不确定要搜索什么!).查询的标准计数/组可能如下所示:

SELECT COUNT(`t2`.`name`) 
FROM `table_1` `t1` 
    LEFT JOIN `table_2` `t2` ON `t1`.`key_id` = `t2`.`key_id` 
WHERE `t1`.`another_column` = 123 
Run Code Online (Sandbox Code Playgroud)

这按预期工作,如果没有找到行则返回0.然而:

SELECT COUNT(`t2`.`name`) 
FROM `table_1` `t1` 
    LEFT JOIN `table_2` `t2` ON `t1`.`key_id` = `t2`.`key_id` 
WHERE `t1`.`another_column` = 123 
GROUP BY `t1`.`any_col` 
Run Code Online (Sandbox Code Playgroud)

仅当table_1中至少有一行时才有效,如果有零行则无法返回空结果集.我真的希望这回到0!有谁启发我这个?如果您在伦敦,可以提供啤酒;-)

mysql sql

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×1

sql ×1