PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak mogę wybrać sąsiednie wiersze do dowolnego wiersza (w sql lub postgresql)?

Jest wiele sposobów, aby to zrobić, jeśli uruchamiasz dwa zapytania w języku programowania, ale oto jeden sposób na zrobienie tego w jednym zapytaniu 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

Spowoduje to zwrócenie 5 wierszy powyżej, wiersza docelowego i 5 wierszy poniżej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego `libpq` używa odpytywania zamiast powiadamiania o pobieraniu danych?

  2. Czy kolejność PostgreSQL jest w pełni gwarantowana w przypadku sortowania według nieunikalnego atrybutu?

  3. Kolumna „mary” nie istnieje

  4. Jak podzielić dane z jednej kolumny na trzy kolumny w innej tabeli? SQL

  5. Jak uzyskać min/max dwóch liczb całkowitych w Postgres/SQL?