mysql - Leaderboard : return 5 records, then the one I want, then 4 more records -


i'm constructing leaderboard, , want specific user in middle of returned records.

in other words, want 5 higher scored users, user want in middle, next 4 lower:

   **users:**     user, score     rita, 9     sue, 8     bob, 7     bill, 6     sam, 5     **me, 4** <-- user want in middle.     sally, 3     simon, 2     john, 1     jim, 0 

i in php, wanted try , more elegant sql statement.

i have literally no idea how approach it!

thanks

something think about:

select id,name my_table; +----+---------+ | id | name    | +----+---------+ |  1 | adam    | |  2 | ben     | |  3 | charlie | |  4 | adam    | |  5 | ben     | |  6 | dan     | +----+---------+  select *  (select id,name my_table order id limit 2) x union (select id,name my_table order id desc limit 2); +----+------+ | id | name | +----+------+ |  1 | adam | |  2 | ben  | |  6 | dan  | |  5 | ben  | +----+------+ 

Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

python - NameError: name 'subprocess' is not defined -