Maison > base de données > tutoriel mysql > Comment trouver la position la plus récente pour chaque titre à l'aide de SQL ?

Comment trouver la position la plus récente pour chaque titre à l'aide de SQL ?

Susan Sarandon
Libérer: 2025-01-04 12:43:41
original
979 Les gens l'ont consulté

How to Find the Most Recent Position for Each Security Using SQL?

Groupwise Maximum

Problème :

Obtenir la dernière position pour chaque titre à partir des éléments suivants table :

id security buy_date
26 PCS 2012-02-08
27 PCS 2013-01-19
28 RDN 2012-04-17
29 RDN 2012-05-19
30 RDN 2012-08-18
31 RDN 2012-09-19
32 HK 2012-09-25
33 HK 2012-11-13
34 HK 2013-01-19
35 SGI 2013-01-17
36 SGI 2013-02-16
KERX 2013-02-20
KERX 0000-00-00

Solution :

La requête suivante récupère la date d'achat maximale pour chaque titre, ainsi que l'ID correspondant :

SELECT p1.id, 
       p1.security, 
       p1.buy_date 
       FROM positions p1
left join
            positions p2
                on p1.security = p2.security
                   and p1.buy_date < p2.buy_date
      where 
      p2.id is null;
Copier après la connexion

Cette requête trouve efficacement la dernière position pour chaque titre à l'aide d'une jointure gauche. Il compare les dates d'achat de chaque titre et sélectionne uniquement les lignes pour lesquelles aucune date d'achat ultérieure n'existe. Cette solution optimisée garantit des résultats précis dans un temps d'exécution plus rapide par rapport aux approches basées sur des sous-requêtes.

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