Maison > base de données > tutoriel mysql > Comment trouver les enregistrements les plus récents pour chaque combinaison de méthode et d'ID dans MySQL ?

Comment trouver les enregistrements les plus récents pour chaque combinaison de méthode et d'ID dans MySQL ?

DDD
Libérer: 2025-01-03 07:16:38
original
703 Les gens l'ont consulté

How to Find the Most Recent Records for Each Method and ID Combination in MySQL?

Comment sélectionner les enregistrements les plus récents pour les combinaisons de champs dans une table MySQL

La table MySQL fournie, rpc_responses, stocke les réponses aux appels RPC avec des champs comprenant l'horodatage, la méthode, l'identifiant et la réponse. L'objectif est de récupérer les réponses les plus récentes pour des combinaisons distinctes de méthode et d'identifiant.

Pour y parvenir, nous pouvons exploiter la fonction ROW_NUMBER() de MySQL avec une clause de fenêtrage :

SELECT *
FROM (
    SELECT *, 
            ROW_NUMBER() OVER (PARTITION BY method, id ORDER BY timestamp DESC) AS row_num
    FROM rpc_responses
) AS subquery
WHERE row_num = 1
Copier après la connexion

Ce La requête utilise une sous-requête pour calculer le numéro de ligne pour chaque combinaison distincte de méthode et d'identifiant, classé par ordre décroissant selon le champ d'horodatage. La requête externe filtre ensuite les résultats pour sélectionner uniquement les lignes portant le numéro 1, qui représente l'enregistrement le plus récent pour chaque combinaison.

Cette approche devrait récupérer efficacement les données souhaitées sans avoir besoin de jointures complexes ou de tables temporaires. .

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