Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Deslocamento de limite negativo no mysql


Você pode fazer uma verdadeira dor na consulta de seleção única ou apenas fazer isso:
(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)

Eu joguei um pedaço para pegar a pontuação do usuário indicado para que ficasse no meio da lista. Opcional se precisar. Além disso, não use SELECT *, use campos específicos. Clareza é sempre preferível, e desempenho sábio, * é uma merda.