Maison > base de données > tutoriel mysql > Comment récupérer des lignes distinctes avec la valeur minimale en SQL ?

Comment récupérer des lignes distinctes avec la valeur minimale en SQL ?

Linda Hamilton
Libérer: 2025-01-24 08:17:08
original
249 Les gens l'ont consulté

How to Retrieve Distinct Rows with the Minimum Value in SQL?

Extraction de lignes uniques avec des valeurs minimales à l'aide de SQL

Les requêtes SQL impliquent fréquemment la sélection de lignes spécifiques en fonction de conditions définies. Un scénario courant consiste à récupérer la ligne avec la valeur minimale dans une colonne, tout en garantissant que seules les lignes uniques sont renvoyées.

Illustrons avec cet exemple de tableau :

<code>id | game | point
-------+--------+--------
1  | x    | 5
1  | z    | 4
2  | y    | 6
3  | x    | 2
3  | y    | 5
3  | z    | 8</code>
Copier après la connexion

Pour obtenir le id avec la valeur point la plus basse pour chaque game, nous pouvons utiliser une sous-requête et une jointure interne. La sous-requête identifie le minimum point pour chaque id :

SELECT Id, MIN(Point) AS MinPoint
FROM TableName
GROUP BY Id
Copier après la connexion

Cette sous-requête produit des id et leurs valeurs point minimales respectives. La requête principale joint ensuite ce résultat à la table d'origine, en filtrant les lignes correspondant au minimum de points :

SELECT tbl.*
FROM TableName tbl
INNER JOIN (
    SELECT Id, MIN(Point) AS MinPoint
    FROM TableName
    GROUP BY Id
) tbl1 ON tbl1.id = tbl.id
WHERE tbl1.MinPoint = tbl.Point;
Copier après la connexion

Résultat de la requête :

<code>id | game | point
-------+--------+--------
1  | z    | 4
3  | x    | 2
2  | y    | 6</code>
Copier après la connexion

Cette méthode renvoie efficacement des lignes uniques contenant la valeur point minimale pour chaque id, fournissant ainsi un ensemble de données propre pour une analyse ultérieure.

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 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