Ich habe folgende Tabelle
uid|punkte
1|637
2|767
3|563
4|928
5|1723
6|123
jetzt möchte ich die Liste nach Punkten absteigend sortieren (soweit kein Problem)
und dann die Position einer ID mit vorgänger und nachfolger ausgeben
also z.B. ID1
soll zurückgeben
uid|punkte
3|563
1|637
2|767
Hatte es so probiert
leider funktioniert das nur wenn ich die p.punkte selbst eintrage (scheint im subquery in der WHERE Bedinung also nicht zur Verfügung zu stehen).
Aradiv
1|637
2|767
3|563
4|928
5|1723
6|123
jetzt möchte ich die Liste nach Punkten absteigend sortieren (soweit kein Problem)
und dann die Position einer ID mit vorgänger und nachfolger ausgeben
also z.B. ID1
soll zurückgeben
3|563
1|637
2|767
Hatte es so probiert
Code:
SELECT * FROM punkte as p WHERE p.uid=1
OR p.uid=(SELECT p2.uid FROM punkte as p2 WHERE p2.punkte<p.punkte ORDER by p2.punkte DESC LIMIT 1)
OR p.uid=(SELECT p3.uid FROM punkte as p3 WHERE p3.punkte>p.punkte ORDER BY p3.punkte ASC LIMIT 1)
ORDER BY punkte DESC LIMIT 3
Aradiv
