SQL count aufeinanderfolgenden Tagen

Dies ist die SQL-Datenbank Daten:

UserTable

UserName    | UserDate      | UserCode
-------------------------------------------
user1       | 08-31-2014    | 232
user1       | 09-01-2014    | 232
user1       | 09-02-2014    | 0
user1       | 09-03-2014    | 121
user1       | 09-08-2014    | 122
user1       | 09-09-2014    | 0
user1       | 09-10-2014    | 144
user1       | 09-11-2014    | 166
user2       | 09-01-2014    | 177
user2       | 09-04-2014    | 188
user2       | 09-05-2014    | 199
user2       | 09-06-2014    | 0
user2       | 09-07-2014    | 155

Sollte nur zählen, aufeinander folgenden Tagen (als Ergebnis), wenn [UserCode] ist etwas anderes als null.
UserDate zwischen 09-01-2014 und 09-11-2014.
Das Ergebnis zeigen die nur bei 2 oder mehr.

Was ich will zu meiner sql Abfrage ist:

UserName    | StartDate     | EndDate       | Result
----------------------------------------------------------
user1       | 09-01-2014    | 09-03-2014    | 2
user1       | 09-08-2014    | 09-11-2014    | 3
user2       | 09-04-2014    | 09-07-2014    | 3

Ist das möglich, nur mithilfe von SQL-Abfrage?

Welche version von mssql verwenden Sie?

InformationsquelleAutor majukivi | 2014-09-30

Schreibe einen Kommentar