Условие СЧЕТЧИК не работает

0
$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". Он игнорирует условие, поэтому он просто подсчитывает количество jus_admin и возвращает результат, который я не понял, почему он игнорирует условие !!!!!!!

Теги:

1 ответ

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'.

  • 0
    спасибо, сэр, я люблю youuuu я плачу сейчас <3 это мой большой первый веб-сайт, я создал его с нуля, и теперь благодаря вам, он закончил

Ещё вопросы

Сообщество Overcoder
Наверх
Меню