MySQL ... SQL standard ?

Invité
Invité n'ayant pas de compte PHPfrance

31 mai 2005, 23:13

Bonjour à tous,

Je ne comprends pas j'ai une requête SQL qui fonctionne sous MS-ACCESS mais qui refuse de fonctionner sous MySQL, voici le code

Code : Tout sélectionner

SELECT Count( T_VISITOR.T_VISIT_PAGE ) AS TOTAL, T_VISITOR.T_VISIT_PAGE AS PAGE FROM T_VISITOR GROUP BY T_VISITOR.T_VISIT_PAGE ORDER BY Count( T_VISITOR.T_VISIT_PAGE ) DESC , T_VISITOR.T_VISIT_PAGE;
Cela fonctionne sous MS-ACCESS mais sous MySQL j'ai le message suivant :
#1111 - Invalid use of group function
Je ne vois pas où est l'erreur, ou s'agit-il d'une limitation se MySQL ?

Merci d'avance.

Mammouth du PHP | 19672 Messages

31 mai 2005, 23:28

Probablement parce que tu fais un GROUP BY sur le nom du champ au lieu d'utiliser l'alias: et en outre on peut simplifier : comme la recherche n'a lieu que sur une seule table, il est inutile de préfixer les champs, donc :

Code : Tout sélectionner

SELECT Count( T_VISIT_PAGE ) AS TOTAL, T_VISIT_PAGE AS PAGE FROM T_VISITOR GROUP BY PAGE ORDER BY Count( T_VISIT_PAGE ) DESC , T_VISIT_PAGE;
Ça devrait fonctionner.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

01 juin 2005, 00:44

Merci c'était bien cela, tout fonctionne maintenant. :D

Merci de mettre un "Résolu"

Super rapide et sympa, bonne continuation =D>