Zum Beispiel, sollten Sie die folgenden Daten:Wie teilt man Datensätze in Gruppen auf, die durch die Gesamtsumme einer bestimmten Spalte definiert sind?
DECLARE @data TABLE (Id INT, Value INT)
INSERT INTO @data VALUES
(0,1),
(1,2),
(2,3),
(3,1),
(4,1),
(5,1)
Ich möchte diese Daten in das folgende zu transformieren:
Id Value Group
0 1 0
1 2 0
2 3 1
3 1 2
4 1 2
5 1 2
Wenn die Elemente in der Reihenfolge ihrer Ids Inspektion berechnen wir die Gesamt laufende Summe von Value
. Wenn es 3 erreicht, sagen wir, dass die Gruppe abgeschlossen ist und eine neue Gruppe und eine neue Gesamtsumme beginnt. Auf diese Weise ergeben die gegebenen Daten 3 Gruppen (wenn natürlich in der spezifischen Reihenfolge geprüft).
Kann ich die Group
in Sql Server 2012 berechnen?
Bitte beachten Sie, dass dieses Beispiel etwas erfunden ist. Die reellen Zahlen sind größer und es gibt viele von ihnen. Die Summenschwelle kann auch ein BIGINT sein.
@RyanVincent: Ist sehr einfach, diese Gruppen zu berechnen. Siehe meine Lösung. –
Ich sag nur ... Ich wünschte, jeder hätte die @table gepostet, wie du es getan hast. –