Trouvez le rang d'un enregistrement

Trouvez le rang d'un enregistrement - SQL/NoSQL - Programmation

Marsh Posté le 12-03-2007 à 17:25:54    

Bonjour tout le monde
 
Je travaille avec Oracle. J'ai besoin de recalculer l'offset d'un element après modification pour pouvoir l'afficher dans la bonne pagination. Il faut prendre en compte le tri sur mes colonnes. Si je modifie le nom d'un enregistrement alors que la liste est triée par nom, il faut qu'après la modification, je me retrouve sur la bonne page.
 
J'arrive à calculer en déléguant le tout à java. Le problème de performance se posera lorsque ma requete retournera de nombreux enregistrement, la mémoire ne suivra pas.
 
Donc ma question est de savoir si en SQL on peut retrouver le rang d'un enregistrement dans un ensemble trié. J'ai essayé cette manière  
 
 
select rownum  
from
(
 select poste.ID_POSTE, rownum
 from poste  
 order by poste.PCE_LBL asc
), poste
where poste.ID_POSTE = 9
 
Malheureusement la requête ne me retourne pas la position de l'enregistrement de ma clause where comme je le voudrais mais uniquement le nombre d'enregistrement.
 
Merci d'avance
 
Paul

Reply

Marsh Posté le 12-03-2007 à 17:25:54   

Reply

Marsh Posté le 12-03-2007 à 21:56:40    

j'ai pas tout bien suivi, mais les fonctions analytiques devraient t'aider (genre le rank)
 
http://lalystar.developpez.com/fon [...] ques/#L3.8

Reply

Marsh Posté le 13-03-2007 à 00:09:58    

pas mal du tout ces ptites fonctions
 
le soucis c'est que c'est spécifique a oracle...
il n'y aurait pas la meme chose sur MSSQL ?

Reply

Marsh Posté le 13-03-2007 à 00:14:20    

Citation :

i'll request google before ask dumb questions


 
http://www.databasejournal.com/fea [...] hp/3661461
 
(evidement, faut la version 2005 :/)

Reply

Marsh Posté le 13-03-2007 à 10:53:31    

perso je ne saurais plus m'en passer

Reply

Sujets relatifs:

Leave a Replay

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