Maison > base de données > tutoriel mysql > Comment sélectionner uniquement les lignes avec la valeur maximale dans une colonne SQL?

Comment sélectionner uniquement les lignes avec la valeur maximale dans une colonne SQL?

Linda Hamilton
Libérer: 2025-01-25 21:07:10
original
876 Les gens l'ont consulté

How to Select Only Rows with the Maximum Value in a SQL Column?

SQL : Sélectionnez la ligne avec la valeur maximale dans la colonne

Considérez un tableau de document simplifié avec les colonnes id, rev et content. Pour filtrer la table et récupérer les lignes contenant la valeur rev maximale pour chaque identifiant, vous pouvez utiliser les fonctions SQL MAX() et GROUP BY.

Utilisez GROUP BY pour extraire la valeur maximale

<code class="language-sql">SELECT id, MAX(rev)
FROM YourTable
GROUP BY id;</code>
Copier après la connexion

Cependant, pour obtenir la ligne entière de données contenant la valeur de rev maximale pour chaque identifiant, vous pouvez faire deux choses :

Méthode 1 : Joindre avec un maximum de sous-requêtes

<code class="language-sql">SELECT a.id, a.rev, a.contents
FROM YourTable a
INNER JOIN (
    SELECT id, MAX(rev) rev
    FROM YourTable
    GROUP BY id
) b ON a.id = b.id AND a.rev = b.rev;</code>
Copier après la connexion

Méthode 2 : Utiliser vos propres conditions pour la jointure à gauche

<code class="language-sql">SELECT a.*
FROM YourTable a
LEFT OUTER JOIN YourTable b
    ON a.id = b.id AND a.rev < b.rev
WHERE b.id IS NULL;</code>
Copier après la connexion

Les deux méthodes utilisent des jointures gauches et des conditions de filtrage pour récupérer uniquement les lignes avec la plus grande valeur rev pour chaque identifiant. La deuxième méthode joint à gauche la table à elle-même, en utilisant une condition de jointure pour exclure les lignes en double avec la plus grande valeur rev.

Notes de performances

Les performances de ces méthodes peuvent varier en fonction de facteurs tels que le type de base de données, la taille de la table et l'utilisation de l'index. Il est recommandé de comparer les deux approches pour déterminer la meilleure solution pour votre scénario spécifique.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal