Pourquoi avez-vous besoin de placer les colonnes que vous créez vous-même (par exemple "sélectionnez 1 comme nombre") après HAVING et non WHERE dans MySQL ?
WHERE
est appliqué avant GROUP BY
, HAVING
est appliqué après (et peut filtrer sur les agrégats).
En général, vous ne pouvez référencer des alias dans aucune de ces clauses, mais MySQL
permet de référencer SELECT
alias de niveau dans GROUP BY
, ORDER BY
et HAVING
.
Et y a-t-il des inconvénients au lieu de faire "WHERE 1" (écrire toute la définition au lieu d'un nom de colonne)
Si votre expression calculée ne contient aucun agrégat, placez-la dans WHERE
clause sera probablement plus efficace.