Citation Envoyé par Fred_34 Voir le message
En faisant cette requète, j'ai l'impression que le SGBD va réaliser deux fois le calcul
Bien sûr que non, ce n'est qu'une question d'analyse syntaxique.
Il faut bien comprendre que les moteurs des SGBD lisent les requêtes pour les traduire afin de bien les exécuter.
Le select, c'est presque ce qu'il y a de moins important et c'est analysé quasiment en dernier, dès lors les alias des colonnes sont lus à la fin de l'analyse.
Au moment de l'analyse des clauses GROUP BY / HAVING, les alias ne sont pas connus et ne peuvent donc pas être utilisés.

Le fait que MySQL permette l'utilisation des alias dans ces clauses indique qu'il analyse plusieurs fois les requêtes, ce qui bien entendu a un coût.