Wie gruppieren Einträge nach ununterbrochener Sequenz?

8
%Vor%

und Daten

%Vor%

Gibt es in PostgreSQL eine Möglichkeit, SQL zu schreiben, die Daten nach gleichen title Segmenten gruppiert, nachdem sie von load_sequence geordnet wurden. Ich meine:

%Vor%

UND ich möchte Gruppen:

%Vor%

so wäre das Ergebnis:

%Vor%     
oskarae 02.09.2015, 09:47
quelle

2 Antworten

4

Sie können die folgende Abfrage verwenden:

%Vor%

Berechnetes grp -Feld dient zum Identifizieren von Schichten von title Datensätzen mit aufeinanderfolgenden load_sequence -Werten. Mit diesem Feld in der GROUP BY -Klausel können wir die erforderliche Aggregation über id -Werte erreichen.

Demo hier

    
Giorgos Betsos 02.09.2015, 09:57
quelle
0

Es gibt einen Trick, den Sie mit sum als Fensterfunktion verwenden können, die über ein lag ged-Fenster läuft.

Die Idee ist, dass Sie, wenn Sie eine Kante / Diskontinuität treffen, 1 zurückgeben, andernfalls geben Sie 0 zurück. Sie erkennen die Diskontinuitäten mit der lag Fensterfunktion.

%Vor%     
Craig Ringer 02.09.2015 11:25
quelle