Trouvez le rang d'un enregistrement - SQL/NoSQL - Programmation
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
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 ?
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 )
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