Maison > base de données > tutoriel mysql > Comment sélectionner des lignes distinctes avec la valeur minimale pour un champ spécifique dans SQL ?

Comment sélectionner des lignes distinctes avec la valeur minimale pour un champ spécifique dans SQL ?

Barbara Streisand
Libérer: 2025-01-17 20:15:10
original
576 Les gens l'ont consulté

How to Select Distinct Rows with the Minimum Value for a Specific Field in SQL?

Sélection de lignes uniques avec la date d'enregistrement la plus ancienne

Supposons que vous ayez une table avec plusieurs entrées pour chaque identifiant unique et que vous deviez récupérer uniquement les lignes uniques représentant la date d'enregistrement la plus ancienne pour chaque identifiant. Ceci est particulièrement utile lorsqu'il s'agit de dates d'enregistrement en double.

Voici une requête SQL qui résout efficacement ce problème :

<code class="language-sql">SELECT mt.*
FROM MyTable mt
INNER JOIN (
    SELECT id, MIN(record_date) AS MinDate
    FROM MyTable
    GROUP BY id
) t ON mt.id = t.id AND mt.record_date = t.MinDate;</code>
Copier après la connexion

Cette requête fonctionne en deux étapes :

  1. Rechercher les dates minimales : La requête interne (SELECT id, MIN(record_date) AS MinDate FROM MyTable GROUP BY id) identifie le minimum record_date pour chaque id unique.

  2. Sélectionnez les lignes correspondantes : La requête externe joint les résultats de la requête interne à la table d'origine (MyTable). Il sélectionne uniquement les lignes de MyTableid et record_date correspondent à la date minimale trouvée dans la requête interne.

Le résultat final contient uniquement les lignes avec le record_date le plus ancien pour chaque identifiant unique, éliminant ainsi les lignes en double avec des dates d'enregistrement différentes.

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