![](/img/trans.png)
[英]PDOStatement::execute Values doesn't work with WHERE Condition & HAVING Condition
[英]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_admin
為NULL
。 這等效於:
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.