簡體   English   中英

擁有COUNT個條件不起作用

[英]HAVING COUNT condition doesn't work

$rech=$_bdd->query('select distinct num_carte,type_seance,nom_module from absence,seance,absence_justification,module where absence.id_absence=absence_justification.id_absence AND absence.id_seance=seance.id_seance AND seance.id_module=module.id_module GROUP BY num_carte,type_seance,nom_module having count(jus_admin="non")>4 ');

我在PHP網站上有此代碼,當我使用jus_admin="non" count時,我發現該計數與jus_admin="non"不進行比較。 它忽略了條件,因此他只計算jus_admin的數量並返回結果,我不明白他為什么忽略了條件!

count()計算非NULL值的數量。 MySQL中的布爾值通常為0或1。

因此,您的邏輯:

having count(jus_admin = 'non') > 4

只返回NULL如果jus_adminNULL 這等效於:

having count(jus_admin) > 4

如果它從不采用NULL ,那么它將與:

having count(*) > 4

我想你想要sum()而不是count()

having sum(jus_admin = 'non') > 4

對於返回的每個組,至少需要五個'non'值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM