Gruppieren von Daten nach Name und Datumsbereichen

8

Ich habe Daten in meiner Oracle-Tabelle, wo ich Namen und Datum wie folgt tangiert:

%Vor%

Meistens ist das Datum für einen Benutzer um eins größer als von Datum und ist kontinuierlich, aber in einigen Fällen gibt es einen Bruch der Daten, so dass meine Ausgabe so aussehen sollte:

%Vor%

Wenn ich min (von) und max (bis) mache, verliere ich einige Rekorde wie für Thomas. Wie sollte ich SQL schreiben, um die Daten zu bekommen, die ich benötige.

    
Auguster 02.10.2017, 15:15
quelle

2 Antworten

5

In Oracle 12.1 und höher erledigt the MATCH_RECOGNIZE clause diese Anforderungen schnell. Ich verwende das gleiche Setup und simulierte Daten (WITH-Klausel) von meiner anderen Antwort, und die Ausgabe ist auch die gleiche.

%Vor%     
mathguy 02.10.2017, 16:13
quelle
5

Dies kann mit der Tabibitosan-Methode gut gelöst werden.

Vorbereitung:

%Vor%

Abfrage (einschließlich simulierter Eingaben zur Vereinfachung):

%Vor%

Ausgabe:

%Vor%     
mathguy 02.10.2017 16:04
quelle

Tags und Links