Maison >base de données >tutoriel mysql >Comment trouver des valeurs maximales uniques pour les données groupées dans un tableau ?

Comment trouver des valeurs maximales uniques pour les données groupées dans un tableau ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-16 13:14:02123parcourir

How to Find Unique Maximum Values for Grouped Data in a Table?

Trouver la valeur maximale des données groupées

Étant donné un tableau comportant plusieurs colonnes, une tâche courante consiste à identifier la valeur maximale au sein d'un groupe spécifique. Dans l'exemple fourni, nous avons des données liées aux pompes (Pump1 et Pump2) avec des valeurs différentes et une colonne supplémentaire (AnotherColumn) . Le but est de récupérer la valeur maximale pour chaque pompe.

Une approche pourrait impliquer d'utiliser une sous-requête pour sélectionner la valeur maximale regroupée par la colonne de nom :

<code class="language-sql">select name, max(value) as value
from out_pumptable
group by name</code>

Cependant, comme mentionné dans la question, cette approche peut être possible s'il existe plusieurs maxima pour un certain groupe (dans ce cas, la Pompe 1 a deux entrées avec le même maximum) Les entrées en double seront est revenu.

Pour résoudre ce problème, vous pouvez utiliser le mot-clé DISTINCT pour vous assurer que seules des valeurs maximales distinctes sont renvoyées :

<code class="language-sql">select name, max(value) as value
from out_pumptable
group by name
having max(value) not in (select value from out_pumptable group by value having count(*) > 1)</code>

Cette modification vérifie si la valeur maximale est unique dans la table (en utilisant une sous-requête). Si la valeur n'est pas unique, elle est exclue des résultats. Cette méthode représente plus précisément la valeur maximale pour chaque pompe.

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