>> la clé primaire est sur (DEipUserID+DEipServiceID)
L'ok, la question est incorrect alors. Puisque par définition, quand vous divisez sur la clé primaire, chaque simple est unique et renverra le nombre de rangée de 1.
Retournant à la question,
[Pour la première rangée le =1 islatest, 2ème rangée arrive va au changement IsLtatest de disque de prev = 0 et a mis IsLatest = 1 pour le nouveau record.]
Et une question que vous avez eue en haut, est-ce que je suspecte que vous vouliez réellement, ce qui soit la définition de la « 2ème rangée », soit lui « 2ème et rame ensuite par DEipUserID+DEipServiceClientID » ? Celui qui il soit, cloison par cette combinaison.
; avec le tmp comme (
choisir le deipuserid, le deipserviceid, islatest, rn=row_number () plus de (la cloison par le deipuserid, l'ordre de deipserviceClientid par le desc d'eipinsertdttm) à partir de dbo.FactUserClientUse)
mettre à jour l'islatest=case réglé de tmp quand rn=1 puis 1 autrement 0 extrémités