Maison  >  Article  >  base de données  >  Quelle est la déclaration de valeur maximale dans la requête MySQL ?

Quelle est la déclaration de valeur maximale dans la requête MySQL ?

coldplay.xixi
coldplay.xixioriginal
2020-09-03 13:33:586155parcourir

L'instruction de requête de valeur maximale MySQL est la suivante : regroupez d'abord le champ stuname ; puis utilisez la fonction MAX pour calculer la valeur maximale dans chaque groupe. Le code est [SELECT a.stuname,MAX(a. score) AS. ..].

Quelle est la déclaration de valeur maximale dans la requête MySQL ?

[Recommandations d'apprentissage associées : tutoriel mysql(vidéo)]

L'instruction de requête de valeur maximale MySQL est :

1 Méthode 1

SELECT a.stuname,MAX(a.score) AS score FROM stuscore a  GROUP BY a.`stuname` ;

Dans cette instruction, nous effectuons la requête sur le. champ stuname Regroupez les valeurs en groupes, puis utilisez la fonction MAX() pour calculer la valeur maximale dans chaque groupe.

2. Méthode 2 : Utiliser la connexion

SELECT a.stuname,a.score AS score FROM stuscore a JOIN 
stuscore b ON a.`stuname`=b.`stuname` 
 GROUP BY a.`score` HAVING a.`score`=MAX(b.`score`);

Dans la deuxième instruction SQL, nous utilisons stuname comme condition de jugement pour connecter les deux tables. Si nous exécutons uniquement

SELECT a.stuname,a.score AS score FROM stuscore a JOIN

stuscore b ON a.stuname=b.stuname nous obtiendrons l'ensemble de résultats suivant :

Quelle est la déclaration de valeur maximale dans la requête MySQL ?

La raison pour laquelle nous obtenons cet ensemble de résultats est que lors de la connexion, Chaque enregistrement de la table de gauche sera mis en correspondance avec chaque enregistrement de la table de droite selon la condition de jointure ON a.stuname=b.stuname", c'est pourquoi des enregistrements en double apparaissent. C'est un peu comme une "double boucle" dans un langage de programmation.

Ajoutez ensuite le regroupement et les conditions de regroupement GROUP BY a.score HAVING a.score=MAX(b.score) pour obtenir la note maximale pour chaque élève

Quelle est la déclaration de valeur maximale dans la requête MySQL ?

En fait, GROUP BY a.`score ` HAVING a.`score`=MAX(b.`score`) cette condition de regroupement est celle que je ; J'étais un peu confus au début, c'est-à-dire que j'ai regroupé selon le champ de score, mais pourquoi la fonction MAX() ici peut calculer le score maximum de chaque élève. On sait que la première méthode est plus facile à comprendre. le nom de l'élève, puis utilisez la fonction MAX() pour calculer la valeur maximale, mais la deuxième méthode consiste à regrouper le champ de score. Je pense que la raison ici est que les deux tableaux sont combinés. La condition de connexion a.stuname=b.stuname a déjà regroupé ces enregistrements en fonction des noms des élèves, afin que MAX(b.score) puisse calculer le score maximum de chaque élève

Vous souhaitez en savoir plus sur la programmation. faites attention à la rubrique formation php

!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn