Maison > Questions et réponses > le corps du texte
J'essaie de définir la quantité maximale sur "max". Une erreur s'est produite :
Code d'erreur : 1111. Utilisation invalide de la fonction de groupe 0,000 secondes
SELECT max(count(*)) as max FROM ticket group by fan_fan_id;
Je ne suis pas sûr du problème ici et je serais heureux d'obtenir de l'aide ici - et je dois le résoudre sans l'option "limite 1"
P粉9492671212024-04-05 09:43:50
SQL n'autorise pas les fonctions d'agrégation imbriquées comme l'exemple que vous avez montré.
Les paramètres des fonctions d'agrégation doivent être des expressions scalaires et non des expressions d'agrégation.
Vous pouvez faire ce que vous voulez :
SELECT MAX(c) FROM (SELECT COUNT(*) AS c FROM ticket GROUP BY fan_fan_id) AS t;
Ou une autre méthode consiste à trier par valeur décroissante et à renvoyer uniquement le premier décompte :
SELECT COUNT(*) AS c FROM ticket GROUP BY fan_fan_id ORDER BY c DESC LIMIT 1;