


Comment puis-je trouver efficacement la valeur maximale dans une colonne pour chaque groupe d'un grand tableau ?
Trouver la valeur maximale dans la colonne groupée d'un grand tableau
Dans cet exemple, vous devez extraire la ligne avec la valeur maximale d'une colonne spécifique de chaque groupe d'une grande table sans effectuer une recherche multi-tables inefficace. Considérez le formulaire suivant :
<code>SCORES ID ROUND SCORE 1 1 3 1 2 6 1 3 2 2 1 10 2 2 12 3 1 6</code>
Votre objectif est de récupérer le dernier tour pour chaque identifiant unique et le score correspondant. Le résultat souhaité est le suivant :
<code>ID ROUND SCORE 1 2 6 2 2 12 3 1 6</code>
Solution efficace utilisant les fonctions de fenêtre
Une méthode efficace consiste à utiliser les fonctions de fenêtre en conjonction avec le mot-clé DISTINCT :
SELECT DISTINCT id ,MAX(round) OVER (PARTITION BY id) AS round ,FIRST_VALUE(score) OVER (PARTITION BY id ORDER BY round DESC) AS score FROM SCORES WHERE id IN (1,2,3) ORDER BY id;
Cette requête utilise les concepts clés suivants :
- PARTITION BY : Regroupe les lignes par colonne d'identifiant.
- MAX(round): Calculez le nombre maximum de tours dans chaque partition.
- FIRST_VALUE(score) : Récupère le premier (dernier) score pour chaque identifiant avec le nombre maximum de tours.
- DISTINCT : garantit que seules les lignes uniques sont renvoyées, éliminant ainsi les résultats en double.
Cette requête optimisée renvoie efficacement le dernier tour et le dernier score pour chaque ID unique sans avoir besoin d'analyser la table plusieurs fois, restant efficace même pour les grandes tables.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
