Ich habe die folgende Tabelle mit Studenteninformationen.Sequenz basierend auf dem Wert in der vorherigen Zeile und der aktuellen Zeile generieren
S_ID Group_ID Date Score
12345 1 1/1/2015 1
12345 1 2/1/2015 2
12345 1 3/1/2015 4
12345 1 4/1/2015 5
12345 1 9/1/2015 3
12345 1 10/1/2015 8
12345 2 1/1/2015 2
12345 2 2/1/2015 4
12345 2 3/1/2015 6
Ich möchte eine neue Tabelle für einige Schüler generieren, nachdem eine Sequenz Spalte hinzufügen, wie unten
S_ID Group_ID Date Score Sequence
12345 1 1/1/2015 1 1
12345 1 2/1/2015 2 2
12345 1 3/1/2015 4 3
12345 1 4/1/2015 5 4
12345 1 9/1/2015 3 3
12345 1 10/1/2015 8 4
12345 2 1/1/2015 2 2
12345 2 2/1/2015 4 3
12345 2 3/1/2015 6 4
Regeln gezeigt:
- Sequenz sollte für jede Kombination von S_ID erzeugt werden , Group_I
- Für den ersten Datensatz entspricht die Sequenznummer dem Score
- 2. Satz ab, dies ist 1 + die vorherige Folgenummer
- Wenn die Differenz zwischen dem Datum der vorherigen Zeile und der aktuellen Zeile mehr als 100 Tage ist, wird die Sequenznummer neu gestartet (wie ) notieren)
Dies ist eine große Tabelle, und ich bin auf der Suche nach der optimierten SQL. Jede Hilfe würde sehr geschätzt
Danke. Das scheint gut zu funktionieren. –