Maison > base de données > tutoriel mysql > Comment récupérer la ligne la plus récente pour un identifiant spécifique dans une table ? 或 Comment puis-je sélectionner uniquement la dernière ligne avec un ID donné dans une table de base de données ?

Comment récupérer la ligne la plus récente pour un identifiant spécifique dans une table ? 或 Comment puis-je sélectionner uniquement la dernière ligne avec un ID donné dans une table de base de données ?

Linda Hamilton
Libérer: 2024-12-29 05:28:10
original
562 Les gens l'ont consulté

How to Retrieve the Most Recent Row for a Specific ID in a Table?
或
How Can I Select Only the Latest Row with a Given ID from a Database Table?

Récupérer la ligne la plus récente avec un ID spécifique

Considérons un tableau contenant trois lignes avec le même ID (1) mais des horodatages de connexion différents. L'objectif est de récupérer uniquement la ligne la plus récente parmi elles.

Une approche consiste à utiliser des fonctions d'agrégation et de regroupement. En tirant parti de la fonction MAX() pour trouver l’horodatage de connexion maximal pour chaque ID, vous pouvez identifier efficacement la ligne la plus récente. Regroupez les résultats par colonne ID pour obtenir les horodatages de connexion maximum pour chaque ID unique.

SELECT 
 id, 
 MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id
Copier après la connexion

Pour obtenir l'intégralité de l'enregistrement correspondant, effectuez une INNER JOIN entre la table d'origine et une sous-requête qui renvoie la connexion maximale horodatage pour chaque ID. Liez les deux tables sur la colonne ID et filtrez en fonction de l'horodatage de connexion maximal. Cela donnera la ligne la plus récente pour l'ID spécifié.

Par exemple, pour récupérer la ligne la plus récente pour l'ID=1 :

SELECT 
  tbl.id,
  signin,
  signout
FROM tbl
  INNER JOIN (
    SELECT id, MAX(signin) AS maxsign FROM tbl GROUP BY id
  ) ms ON tbl.id = ms.id AND signin = maxsign
WHERE tbl.id=1
Copier après la connexion

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