sql >> Databasteknik >  >> RDS >> Mysql

Negativ gränsförskjutning i mysql

Du kan antingen göra en verklig smärta i rumpan en enda valfråga, eller bara göra så här:

(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)

Jag kastade in en bit för att ta tag i den angivna användarens poäng så att den hamnar i mitten av listan. Valfritt om du behöver det. Använd inte SELECT *, använd specifika fält. Tydlighet är alltid att föredra, och prestandamässigt, * suger.




  1. URL Skriva om frågedatabas?

  2. SQL-fråga för att hitta den sista dagen i månaden

  3. Finns det något sätt att generera ett UML-klassdiagram från en befintlig MySQL-databas?

  4. Är det möjligt att behandla bindestreck och mellanslag på samma sätt i SQL?