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?

Comment trouver des lignes avec des valeurs de colonne maximales, partitionnées par une autre colonne dans MySQL?

Susan Sarandon
Susan Sarandonoriginal
2025-01-25 06:46:08435parcourir

How to Find Rows with Maximum Column Values, Partitioned by Another Column in MySQL?

MySQL trouve la ligne avec la plus grande valeur de colonne par l'autre colonne dans une autre colonne

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!

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