[Attributes].[Personal Data Categories]
我的PHP网站上有这个代码,当我使用有计数时,我发现计数不会比较$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 ');
。它忽略条件,所以他只计算jus_admin的数量并返回结果
我不明白他为什么忽视这个条件!!!!!!!
答案 0 :(得分:3)
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'
值。