Maison  >  Questions et réponses  >  le corps du texte

Opération MySQL pour obtenir la fonction de somme maximale

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粉139351297P粉139351297178 Il y a quelques jours389

répondre à tous(1)je répondrai

  • P粉949267121

    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;

    répondre
    0
  • Annulerrépondre