sql >> Databáze >  >> RDS >> Mysql

Okno pro výběr SQL kolem konkrétního řádku

Pravděpodobně by stačilo použít UNION a pak oříznout další výsledky v procedurálním kódu, který zobrazuje výsledky (protože to vrátí 20 řádků v případech bez okrajů):

(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

EDIT:Zvýšený limit na 10 na obou stranách UNIE, jak navrhuje le dorfier .

ÚPRAVA 2:Upraveno tak, aby lépe odráželo konečnou implementaci, jak navrhl Dominic.



  1. Jak mohu filtrovat znaky Emoji z mého vstupu, abych mohl uložit v MySQL <5.5?

  2. Jak zabránit Mysql Connector/J v převodu časového pásma DATE a TIME?

  3. Ukládání statistických dat, potřebuji DECIMAL, FLOAT nebo DOUBLE?

  4. nelze uložit data z jedné tabulky do jiné tabulky