Zum Beispiel gibt es eine Tabelle mit Daten:
%Vor%Ich muss ms sql query schreiben, die die Anzahl der aufeinanderfolgenden Daten ab jedem Datum in der Tabelle zurückgibt. Also wird das Ergebnis wie folgt aussehen:
%Vor%Es scheint mir, dass ich LAG- und LEAD-Funktionen verwenden sollte, aber jetzt kann ich mir die Art des Denkens überhaupt nicht vorstellen.
Sie können dieses CTE
verwenden:
um das folgende Ergebnis zu erzeugen:
%Vor% Sie müssen jetzt nur noch eine laufende Summe von flag
bis des ersten Vorkommens eines vorhergehenden Nullwerts berechnen :
OUTER APPLY
berechnet den rn
-Wert des ersten nullwertigen Flags, das vor der aktuellen Zeile steht. CROSS APPLY
berechnet die Anzahl der Datensätze, die dem aktuellen Datensatz vorangehen bis das erste Vorkommen eines vorhergehenden nullwertigen Flags.
Tags und Links sql-server date