Maison > base de données > tutoriel mysql > Comment trouver le total maximum pour chaque groupe de noms dans SQL ?

Comment trouver le total maximum pour chaque groupe de noms dans SQL ?

Patricia Arquette
Libérer: 2025-01-07 21:11:44
original
295 Les gens l'ont consulté

How to Find the Maximum Total for Each Name Group in SQL?

Valeur maximale de la requête de groupe SQL

Cette question est conçue pour extraire des données spécifiques d'une table, dans le but de trouver l'enregistrement avec la valeur « Total » la plus élevée pour chaque champ « Nom » unique. Ceci est différent du problème de trouver le dernier enregistrement de chaque groupe.

Voici deux méthodes de requête SQL pour atteindre cet objectif :

Méthode 1 : 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>
Copier après la connexion

Cette requête utilise une sous-requête pour trouver la valeur Name maximale dans chaque Total groupe, puis sélectionne uniquement les enregistrements qui correspondent à cette valeur maximale.

Méthode 2 : Auto-connexion

<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>
Copier après la connexion

Cette requête utilise INNER JOIN pour joindre sometable à une sous-requête qui calcule la valeur Name maximale pour chaque Total groupe. La condition INNER JOIN garantit que seuls les enregistrements dont la valeur Total correspond à la valeur maximale de chaque groupe sont sélectionnés.

Les deux méthodes donnent le même résultat :

Name Top Total
cat 3 20
horse 4 4
dog 6 9

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal