>> la chiave primaria è su (DEipUserID+DEipServiceID)
L'approvazione, la domanda allora è errata. Poiché per definizione, quando dividete sulla chiave primaria, ogni singolo è unico e restituirà un numero di fila di 1.
Andando indietro alla domanda,
[Per la prima fila =1 più islatest, seconda fila arriva va al cambiamento IsLtatest dell'annotazione del prev = 0 ed ha messo IsLatest = 1 per il nuovo record.]
Ed una domanda avete avuto sopra, ritengo sospetto che realmente volete, che cosa siete la definizione “della seconda fila„, siete esso “seconda e da allora in poi remate per DEipUserID+DEipServiceClientID„? Qualunque è che, divisorio tramite quella combinazione.
; con tmp come (
selezionare il deipuserid, il deipserviceid, più islatest, rn=row_number () sopra (divisorio da deipuserid, da ordine del deipserviceClientid dal desc del eipinsertdttm) a partire da dbo.FactUserClientUse)
aggiornare il islatest=case stabilito del tmp quando rn=1 allora 1 altrimenti 0 estremità