Maison > base de données > tutoriel mysql > Comment récupérer des lignes avec des valeurs minimales pour chaque identifiant unique dans SQL ?

Comment récupérer des lignes avec des valeurs minimales pour chaque identifiant unique dans SQL ?

DDD
Libérer: 2025-01-24 08:01:12
original
120 Les gens l'ont consulté

How to Retrieve Rows with Minimum Values for Each Unique Identifier in SQL?

Filtrage efficace SQL : obtenez la ligne de valeur minimale pour chaque identifiant unique

Dans la gestion de bases de données, il est souvent nécessaire d'extraire des enregistrements avec des valeurs uniques et leurs valeurs minimales correspondantes. Supposons qu'il existe une table contenant une colonne d'identifiant unique et une colonne de valeur associée, et que l'objectif est de récupérer la ligne correspondant à la valeur minimale de chaque identifiant unique.

Défi

Considérez la forme suivante :

id game point
1 x 5
1 z 4
2 y 6
3 x 2
3 y 5
3 z 8

Le but est de trouver la ligne avec la plus petite game valeur pour chaque valeur point unique. Le résultat attendu est le suivant :

id game point
1 z 4
2 y 6
3 x 2

Solution

Cela peut être réalisé en utilisant la requête SQL suivante :

<code class="language-sql">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;</code>
Copier après la connexion

Explication

    La requête interne
  • calcule la valeur Id minimale pour chaque Point unique et stocke les résultats dans la table dérivée tbl1.
  • La requête principale rejoint la table d'origine Id avec TableName en fonction d'une colonne tbl1 commune.
  • Enfin, il filtre les résultats pour inclure uniquement les lignes où la plus petite valeur Point (de tbl1) correspond à la valeur Point dans le tableau d'origine.

En utilisant cette requête, vous pouvez récupérer efficacement les lignes uniques avec la plus petite valeur game regroupées par la colonne Point.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal