sql >> Database teknologi >  >> RDS >> Mysql

Negativ grænse offset i mysql

Du kan enten gøre en reel smerte i numsen enkelt vælge forespørgsel, eller bare gøre dette:

(SELECT * FROM highscores 
WHERE score <= ( SELECT score FROM highscores WHERE userID = someID ) 
ORDER BY score, updated ASC 
LIMIT 9)
UNION
(SELECT * FROM highscores 
WHERE score = ( SELECT score FROM highscores WHERE userID = someID ))
UNION 
(SELECT * FROM highscores 
WHERE score >= ( SELECT score FROM highscores WHERE userID = someID ) 
ORDER BY score, updated ASC
LIMIT 9)

Jeg smed en brik ind for at få fat i den angivne brugers score, så den er midt på listen. Valgfrit, hvis du har brug for det. Brug heller ikke SELECT *, brug specifikke felter. Klarhed er altid at foretrække, og præstationsmæssigt, * stinker.




  1. Simulering af CONNECT BY PRIOR af Oracle i SQL Server

  2. Kom godt i gang med ProxySQL - MySQL &MariaDB Load Balancing Tutorial

  3. Effektiv overvågning af MySQL med SCUMM Dashboards:Første del

  4. Rails Console finder brugere efter række id'er