Reqûête qui a l'air simple... Mais en fait pas du tout!

Reqûête qui a l'air simple... Mais en fait pas du tout! - SQL/NoSQL - Programmation

Marsh Posté le 27-08-2008 à 19:48:50    

Bonjour,
 
Voila je bloque depuis 3 heure sur une requête qui peut paraître simple.
 
Je dispose de la table suivante (simplifiée) des connexions des utilisateurs à un système
 
NOM UTILISATEUR    HEURE CONNEXION
Durand                       21:58
Durand                       21:53  
Dupont                       21:51
Durand                       21:00
Dupont                       20:55
Perrin                         20:43
Durand                       20:40
Durand                       20:30
Perrin                         20:12
Dupont                       20:11
Perrin                         20:00
Durand                       19:43
Dupont                       19:02
 
 
Et je voudrais une requête qui me retourne les 3 dernières connexion par utilisateur, soit
Durand                        21:58
Durand                        21:53
Durand                        21:00
Dupont                        21:51
Dupont                        20:55
Dupont                        20:11
Perrin                          20:43
Perrin                          20:12
Perrin                          20:00
 
Quelqu'un aurait-il une idée??? Je travaille en PL SQL sous Oracle, donc s'il faut passer par des boucles for et autre pourquoi pas mais il doit y avoir plus simple avec des requêtes imbriquées mais je dois avouer que la je bloque. Une idée serait la bienvenue. Merci d'avance

Reply

Marsh Posté le 27-08-2008 à 19:48:50   

Reply

Marsh Posté le 28-08-2008 à 11:52:59    

tu peux regarder du coté de la fonction analytique rank()over(), puis de surselecter pour ne prendre que les rank <= 3.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed