PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann ich benachbarte Zeilen zu einer beliebigen Zeile auswählen (in SQL oder Postgresql)?

Es gibt viele Möglichkeiten, dies zu tun, wenn Sie zwei Abfragen mit einer Programmiersprache ausführen, aber hier ist eine Möglichkeit, dies in einer SQL-Abfrage zu tun:

(SELECT * FROM table WHERE id >= 34 AND active = 1 ORDER BY id ASC LIMIT 6)
UNION
(SELECT * FROM table WHERE id < 34 AND active = 1 ORDER BY id DESC LIMIT 5)
ORDER BY id ASC

Dies würde die 5 Zeilen darüber, die Zielzeile und 5 Zeilen darunter zurückgeben.