/ / bedingtes Anzeigen von Zeilen basierend auf Werten in der nächsten Zeile - SQL - sql, oracle

Anzeigen von Zeilen basierend auf Werten in der nächsten Zeile - SQL - sql, oracle

Ich habe eine Tabelle mit wenigen Spalten. Ich habe eine Spalte mit numerischen Daten. Z.B:

1
2
3
5
4
4

Ich muss eine Zeile anzeigen, die sich auf diese Spalte beziehtbasierend auf dem Wert in der nächsten Zeile. Ich muss die Zeilen abrufen, für die die nachfolgende Zeile eine gerade Zahl hat. Im obigen Beispiel muss ich 1, 5 und 4 anzeigen. Ich verwende Oracle-Datenbank.

Antworten:

5 für die Antwort № 1

Oracle Lead Analytical-Funktion kann verwendet werden.

Oracle Lead Analytical Function


2 für die Antwort № 2
select COLUMN from
(select COLUMN, case when mod(lead(COLUMN) over (order by COLUMN),2)=0 then 1 else 0 end CONTROL
from YOURTABLE t)
where CONTROL=1

Ändern Sie einfach die Spalte in Ihren Spaltennamen und YOURTABLE in Ihren Tabellennamen.


0 für die Antwort № 3

Ich würde die Werte in eine Liste einlesen und die Logik im Code ausführen. Dies ist schneller als das Erstellen von ausgefallenen Dingen in einer Abfrage. Es ist wahrscheinlich auch verständlicher.