Siamo spiacenti per il cattivo argomento, ma non ero sicuro di come chiamarlo ..somma parziale in T-SQL
Ho una tabella simile a questo:
+-----++-----+
| Id ||Count|
+-----++-----+
| 1 || 1 |
+-----++-----+
| 2 || 5 |
+-----++-----+
| 3 || 8 |
+-----++-----+
| 4 || 3 |
+-----++-----+
| 5 || 6 |
+-----++-----+
| 6 || 8 |
+-----++-----+
| 7 || 3 |
+-----++-----+
| 8 || 1 |
+-----++-----+
che sto cercando di fare una selezione da questa tabella in cui ogni volta che la SOMMA di row1 + row2 + row3 (etc) raggiunge 10, allora è un "HIT", e il conteggio ricomincia. Uscita
richiesto:
+-----++-----++-----+
| Id ||Count|| HIT |
+-----++-----++-----+
| 1 || 1 || N | Count = 1
+-----++-----++-----+
| 2 || 5 || N | Count = 6
+-----++-----++-----+
| 3 || 8 || Y | Count = 14 (over 10)
+-----++-----++-----+
| 4 || 3 || N | Count = 3
+-----++-----++-----+
| 5 || 6 || N | Count = 9
+-----++-----++-----+
| 6 || 8 || Y | Count = 17 (over 10..)
+-----++-----++-----+
| 7 || 3 || N | Count = 3
+-----++-----++-----+
| 8 || 1 || N | Count = 4
+-----++-----++-----+
Come faccio a fare questo, e con le migliori prestazioni? Non ho idea ..
[guarda qui] (http://stackoverflow.com/a/31497897/3094533) –
Pensiero interessante sull'uso di dense_rank(). Forse questo avrebbe funzionato. Altrimenti temo che un proc memorizzato con un cursore sia probabilmente ciò che è necessario. –
Se 'dense_rank()' non fa il trucco, puoi farlo anche con una vista ricorsiva. Credo che la rotta 'dense_rank()' sarebbe meglio ottimizzata. – JNevill