[英]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.