PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como posso selecionar linhas adjacentes a uma linha arbitrária (em sql ou postgresql)?


Há muitas maneiras de fazer isso se você executar duas consultas com uma linguagem de programação, mas aqui está uma maneira de fazer isso em uma consulta 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

Isso retornaria as 5 linhas acima, a linha de destino e as 5 linhas abaixo.