sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur kan jag välja intilliggande rader till en godtycklig rad (i sql eller postgresql)?

Det finns många sätt att göra det på om du kör två frågor med ett programmeringsspråk, men här är ett sätt att göra det i en SQL-fråga:

(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

Detta skulle returnera de 5 raderna ovanför, målraden och 5 raderna under.



  1. MySQL 5.7:konvertera enkel JSON_ARRAY till rader

  2. När ska man använda SELECT ... FÖR UPPDATERING?

  3. Psql COPY med begränsning misslyckas

  4. Konvertera tal till ord i SQL