Maison >base de données >tutoriel mysql >Comment récupérer des lignes avec des valeurs DateTime maximales partitionnées par Home dans MySQL ?

Comment récupérer des lignes avec des valeurs DateTime maximales partitionnées par Home dans MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-25 06:16:09496parcourir

How to Retrieve Rows with Maximum DateTime Values Partitioned by Home in MySQL?

Extraction des valeurs DateTime maximales dans MySQL, regroupées par une autre colonne

Les requêtes de base de données nécessitent souvent de récupérer des données spécifiques en fonction de plusieurs conditions. Une tâche fréquente consiste à sélectionner des lignes contenant la valeur maximale d'une colonne, classées par une autre colonne. Ce guide présente une solution MySQL en utilisant un tableau de performances des joueurs comme exemple.

Considérez une table nommée « TopTen » avec les colonnes « id », « home », « datetime », « player » et « ressource ». L'objectif est de récupérer la ligne avec la dernière entrée (« datetime ») pour chaque emplacement « maison » unique.

Après avoir exploré diverses méthodes, notamment les sous-requêtes et les jointures, la requête la plus efficace s'est avérée être :

<code class="language-sql">SELECT tt.*
FROM topten tt
INNER JOIN
    (SELECT home, MAX(datetime) AS MaxDateTime
    FROM topten
    GROUP BY home) groupedtt 
ON tt.home = groupedtt.home 
AND tt.datetime = groupedtt.MaxDateTime;</code>

Cette requête fonctionne en deux étapes. Il génère d'abord une table temporaire (« groupedtt ») stockant le « datetime » maximum pour chaque « maison » distincte. Par la suite, il rejoint « TopTen » (« tt ») avec « groupedtt » en utilisant à la fois « home » et « datetime » comme conditions de jointure. Cela garantit que seules les lignes avec le « datetime » maximum pour chaque « maison » sont renvoyées.

Cette approche fournit une méthode efficace pour récupérer des lignes avec des valeurs de colonne maximales, partitionnées par une autre colonne dans MySQL, facilitant l'extraction de données ciblées et pertinentes de votre base de données.

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!

Déclaration:
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