Maison >base de données >tutoriel mysql >Comment trouver la valeur maximale de chaque groupe dans SQL ?

Comment trouver la valeur maximale de chaque groupe dans SQL ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-07 21:30:41971parcourir

How to Find the Maximum Value for Each Group in 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!

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