Maison >base de données >tutoriel mysql >Comment trouver la valeur maximale de chaque groupe dans SQL ?
Méthode de recherche de valeur maximale du groupe SQL
Cet article explique comment extraire l'enregistrement de valeur « Total » maximum correspondant à chaque « Nom » unique à partir d'une table contenant plusieurs « Nom » mais des valeurs « Total » différentes.
Une solution consiste à utiliser une sous-requête :
<code class="language-sql">SELECT Name, Top, Total FROM sometable WHERE Total = (SELECT MAX(Total) FROM sometable i WHERE i.Name = sometable.Name);</code>
Cette sous-requête recherche la valeur « totale » maximale pour chaque « nom » et la requête principale filtre les enregistrements correspondants.
Une autre façon consiste à utiliser des requêtes imbriquées :
<code class="language-sql">SELECT Name, Top, Total FROM sometable INNER JOIN ( SELECT MAX(Total) AS Total, Name FROM sometable GROUP BY Name ) AS max ON max.Name = sometable.Name AND max.Total = sometable.Total;</code>
Cette requête imbriquée crée une table temporaire contenant la valeur "totale" maximale pour chaque "nom". La requête principale rejoint ensuite la table sometable
avec cette table temporaire, où les valeurs "nom" et "total" correspondent. Le résultat de la connexion est l'enregistrement de valeur "totale" maximum correspondant à chaque "nom" unique.
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!