PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment puis-je sélectionner des lignes adjacentes à une ligne arbitraire (en sql ou postgresql) ?

Il existe de nombreuses façons de le faire si vous exécutez deux requêtes avec un langage de programmation, mais voici une façon de le faire dans une requête SQL :

(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

Cela renverrait les 5 lignes au-dessus, la ligne cible et les 5 lignes en dessous.