簡體   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