Bonjour à tous,

Je voudrais faire une requête en évitant de passer par des curseurs mais la je sèche un peu. J'aurais besoins d'un peu d'aide. Je travail sur une base tournant sous Sqlserver 2005 et 2008.

J'ai une table avec un numéro d'utilisateur et une date et heure. Je voudrais numéroter les lignes par utilisateur par date et surtout par bloc. La numérotation pour un utilisateur recommence à 1 après chaque bloc.

Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
N°user    dateHeure                     ResultatVoulu
9999	     20091116 020340           1
9999	     20091116 032926           2
1777	     20091116 055644           1
1777	     20091116 080406           2
1777	     20091116 093814           3
1777	     20091116 095940           4
1777	     20091116 102600           5
9999	     20091116 234758           1
9999	     20091116 235116           2
9999	     20091116 235444           3
En utilisant un RANK() la numérotation ne recommence pas à 1 après chaque bloc.

Est ce que quelqu'un aurait une astuce pour ce genre de problème.


Merci d'avance