Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL Wybór okna wokół określonego wiersza

Prawdopodobnie mógłby po prostu użyć UNION, a następnie usunąć dodatkowe wyniki w kodzie proceduralnym wyświetlającym wyniki (ponieważ zwróci to 20 wierszy w przypadkach bez krawędzi):

(SELECT 
     * 
FROM photos
   WHERE ID < #current_id#
   ORDER BY ID DESC LIMIT 10)
UNION
  (SELECT *
   FROM photos
   WHERE ID >= #current_id#
   ORDER BY ID ASC LIMIT 10)
ORDER BY ID ASC

EDYCJA:Zwiększony limit do 10 po obu stronach UNII, zgodnie z sugestią le dorfier .

EDYCJA 2:Zmodyfikowano, aby lepiej odzwierciedlić ostateczną implementację, zgodnie z sugestią Dominica.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prawidłowy sposób przekazywania od 5000 do 100 000 wartości w klauzuli mysql WHERE

  2. Jak przekonwertować bazę danych MySQL na XML?

  3. MySQL GROUP BY z preferencjami

  4. poddźwiękowe 2 łączenie na wielu kolumnach

  5. W jaki sposób Zend\Db w ZF2 kontroluje transakcje?