La raison de l'erreur est que vous ne pouvez pas utiliser ensemble (IE: MIN, MAX, COUNT ...) fonctions dans la WHERE
clause - seulement dans la clause HAVING
pouvez-vous faire cela. Et pour définir la clause HAVING
, votre requête doit avoir une clause GROUP BY
définie:
SELECT COUNT(f.festivalid)
FROM FESTIVALS f
GROUP BY ? --festivalid would NOT be an ideal choice
HAVING MIN(datefrom) > now()
... mais j'ai des doutes au sujet de la requête, et je pense qu'il serait préférable d'utiliser:
SELECT COUNT(f.festivalid)
FROM FESTIVALS f
WHERE f.datefrom > CURRENT_TIMESTAMP
CURRENT_TIMESTAMP
est équivalent à la norme ANSI spécifique à MySQL NOW()
, rendant la requête portable à d'autres bases de données.