繁体   English   中英

MySQL计数查询与组不返回任何内容

[英]MySQL Count query with Group By not returning anything

我试图理解为什么MySQL中的这个查询根本不返回任何结果,而我认为它应该返回一行,其中0作为列值

select count(ps.id) as totalcount 
from tblpresi ps
inner join users_staging.tbluser u on u.id = ps.userid
where ps.id = 3678
group by ps.id

没有“分组依据”的相同查询按预期工作。

有任何想法吗?

不,它不会返回,因为您的查询根本不返回结果(可能没有ps.id = 3678,或者您的内部联接排除了结果集中的每一行)。

如果您将查询更改为:

select count(1) as totalcount 
  from tblpresi ps
 inner join users_staging.tbluser u on u.id = ps.userid
 where ps.id = 3678
 group by ps.id

你会得到一行0

请记住, 如果您的ps.id在结果集中是唯一的(我不知道您所拥有的inner join ps.id是否将返回具有相同ps.id多个行),则ps.id group by子句。

既然你说你期望1行零计数,我假设没有ps.id为3678。

如果在空结果集上进行分组,则不能有任何组。 group by不“知道”where子句,它只查看结果集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM