Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/04/2007, 13h23   #1
Membre régulier
 
Avatar de jacquesh
 
Développeur informatique
Inscription : février 2005
Messages : 269
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 269
Points : 82
Points : 82
Par défaut [DATE] - Recup des N dates plus grandes

Bonjour

voila un p'tit problème (à mon avis simple mais prise de tête)
Compatibilité Oracle 8.1.7.4 obligatoire

Soit une table avec les champs suivants

Code :
1
2
3
4
5
6
7
8
9
 
Machine | Login| DateLogin | 
---------------------------------
Machine1 | test | 24/04/2007 00h23
Machine1 | test | 24/04/2007 06h23
Machine1 | test | 24/04/2007 10h23
Machine1 | test | 24/04/2007 10h33
Machine1 | test2 | 24/04/2007 10h55
Machine2 | test1 | 24/04/2007 08h30
Comment peut on récupérer les N (avec N > 1) derniers connexions avec le login/machine respectif...

J'ai fait des test avec des Max() et LEAD & LAG mais les résultats ne sont pas cohérent

Le but est d'obtenir quelque chose comme cela

Code :
1
2
3
4
5
Machine | Login| DateLogin | LastLogin
--------------------------------------
Machine1 | test | 24/04/2007 10h33 | 24/04/2007 10h23 
Machine1 | test2 | 24/04/2007 10h55 | NULL
Machine2 | test1 | 24/04/2007 08h30 | NULL
une idée ??

merci d'avance..
__________________
Citation:
En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche.
jacquesh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h33   #2
Membre Expert
 
Inscription : août 2002
Messages : 1 249
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 249
Points : 1 512
Points : 1 512
Envoyer un message via Yahoo à ylarvor
Par défaut je suis interesse par la reponse.

sur sql serveur, on utilise une fonction de fenetrage :
http://www.developpez.net/forums/sho...d.php?t=321762
sur oracle, je ne sais pas faire à ce jour...
ylarvor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h49   #3
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 450
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 450
Points : 4 209
Points : 4 209
Code :
1
2
3
4
5
6
7
8
9
10
SELECT machine, login, datelogin, lx1, lx2, lx3
FROM 
(SELECT machine, login, datelogin, 
		lag(datelogin, 1) over (PARTITION BY machine, login ORDER BY datelogin) AS lx1,
		lag(datelogin, 2) over (PARTITION BY machine, login ORDER BY datelogin) AS lx2,
		lag(datelogin, 3) over (PARTITION BY machine, login ORDER BY datelogin) AS lx3,
		row_number() over (PARTITION BY machine, login ORDER BY datelogin DESC) AS num
FROM MATABLE
GROUP BY machine, login, datelogin)
WHERE num = 1
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 15h10   #4
Membre régulier
 
Avatar de jacquesh
 
Développeur informatique
Inscription : février 2005
Messages : 269
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 269
Points : 82
Points : 82
bravo !! ca marche nikel !!

merci.
__________________
Citation:
En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche.
jacquesh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h58.


 
 
 
 
Partenaires

Hébergement Web