Maison >base de données >tutoriel mysql >Comment trouver des lignes avec des valeurs de colonne maximales, partitionnées par une autre colonne dans MySQL?
Dans la base de données, il est une tâche d'analyse courante de trouver la valeur maximale selon un autre groupe de paquets. Dans MySQL, cela peut être réalisé en combinant l'agrégation et le filtrage.
Cet article traite du problème des lignes récupérées du tableau, qui contient la valeur maximale d'une colonne spécifique dans chaque groupe défini dans une autre colonne. Par exemple, dans le tableau "Topten" fourni, la tâche consiste à extraire pour chaque valeur "Accueil" unique et à la valeur maximale de la colonne "DateTime" correspondante.Les demandes initiales sont les suivantes, mais il y a des défauts:
La requête n'a pas réussi à identifier correctement la plus grande valeur "DateTime" de chaque "maison". Afin de résoudre correctement le problème, vous devez regrouper "Home" et "DateTime" en même temps dans la sous-femerie:
<code class="language-sql">SELECT s1.id, s1.home, s1.datetime, s1.player, s1.resource FROM TopTen s1 JOIN (SELECT id, MAX(`datetime`) AS dt FROM TopTen GROUP BY id) AS s2 ON s1.id = s2.id ORDER BY `datetime`</code>
Cette enquête finale identifie avec succès chaque ligne de différentes valeurs de "maison".
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!