Maison > base de données > tutoriel mysql > Comment récupérer l'enregistrement le plus récent de chaque utilisateur dans une base de données SQL ?

Comment récupérer l'enregistrement le plus récent de chaque utilisateur dans une base de données SQL ?

Susan Sarandon
Libérer: 2025-01-13 13:01:45
original
860 Les gens l'ont consulté

How to Retrieve the Most Recent Record for Each User in a SQL Database?

Obtenez le dernier enregistrement d'utilisateur pour chaque utilisateur

Supposons que vous ayez un tableau contenant les heures d'arrivée et de départ d'un utilisateur ("lms_attendance"). Pour avoir un aperçu de leur activité, vous souhaiterez peut-être une vue qui montre la dernière activité de chaque utilisateur (enregistrements ou départs).

Pour y parvenir en SQL vous pouvez utiliser la requête suivante :

<code class="language-sql">SELECT t1.*
FROM lms_attendance t1
WHERE t1.time = (SELECT MAX(t2.time)
                 FROM lms_attendance t2
                 WHERE t2.user = t1.user);</code>
Copier après la connexion

Cette requête utilise une sous-requête pour déterminer la durée maximale de chaque utilisateur, garantissant ainsi la capture de l'activité la plus récente. Le résultat sera similaire au résultat attendu :

<code>| ID | USER |       TIME |  IO |
--------------------------------
|  2 |    9 | 1370931664 | out |
|  3 |    6 | 1370932128 | out |
|  5 |   12 | 1370933037 |  in |</code>
Copier après la connexion

Cependant, si vous n'avez besoin que d'un seul enregistrement par utilisateur, modifiez la requête comme suit :

<code class="language-sql">SELECT t1.*
FROM lms_attendance t1
WHERE t1.id = (SELECT t2.id
                 FROM lms_attendance t2
                 WHERE t2.user = t1.user            
                 ORDER BY t2.id DESC
                 LIMIT 1);</code>
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