Maison > base de données > tutoriel mysql > Comment récupérer efficacement les valeurs maximales des colonnes et les données correspondantes dans SQL ?

Comment récupérer efficacement les valeurs maximales des colonnes et les données correspondantes dans SQL ?

Patricia Arquette
Libérer: 2025-01-07 17:11:42
original
125 Les gens l'ont consulté

How to Efficiently Retrieve Maximum Column Values and Corresponding Data in SQL?

Rechercher efficacement les valeurs maximales et les données associées dans SQL

Les analystes de données doivent souvent extraire la valeur la plus élevée d'une colonne et les données associées d'autres colonnes d'une table. Pour les grands ensembles de données, l’efficacité est primordiale. Bien que le regroupement par ID et la sélection de la version maximale puissent sembler simples, cette approche omet les balises associées.

Une méthode supérieure et plus efficace utilise la fonction ROW_NUMBER(). Considérez cette requête :

<code class="language-sql">SELECT s.id, s.tag, s.version
FROM (
    SELECT t.*,
           ROW_NUMBER() OVER(PARTITION BY t.id ORDER BY t.version DESC) as rnk
    FROM YourTable t
) s
WHERE s.rnk = 1;</code>
Copier après la connexion

Cette requête utilise ROW_NUMBER() pour attribuer un classement à chaque ligne au sein des groupes (partitions) en fonction de la colonne id. PARTITION BY t.id garantit un classement indépendant pour chaque identifiant unique. ORDER BY t.version DESC classe les lignes par ordre décroissant de version, en attribuant le rang 1 à la ligne avec la version maximale pour chaque ID.

La clause WHERE externe filtre les résultats, ne conservant que les lignes de rang 1. Cela récupère efficacement les identifiants uniques, leurs balises correspondantes et la version maximale pour chaque identifiant. La fonction ROW_NUMBER() est essentielle pour gérer efficacement de grands ensembles 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!

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