Sélection des enregistrements les plus récents d'une table MySQL en fonction de plusieurs dates
Dans une table MySQL stockant des données avec des horodatages, des méthodes, des identifiants, et réponses, l'objectif est de récupérer les enregistrements les plus récents pour chaque combinaison de méthode et d'identifiant.
Pour y parvenir, vous pouvez utiliser les éléments optimisés suivants query :
SELECT * FROM ( SELECT *, if(@last_method = method, 0, 1) AS new_method_group, @last_method := method FROM rpc_responses ORDER BY method, timestamp DESC ) AS t1 WHERE new_method_group = 1;
Cette requête exploite les variables MySQL pour éviter le besoin d'une jointure. Il applique les étapes suivantes :
Cette approche récupère efficacement la réponse la plus récente pour chaque combinaison unique de méthodes. et ID sans avoir besoin d'une jointure, ce qui entraîne des performances optimales.
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!