SQL eine Row nach oben springen...

Ronax hat gesagt.:
Aber leider gibt mySQL auch ohne ORDER BY nur die Zeile mit der kleinsten ID zurück :/

Ich habe drei Bilder hochgeladen, vielleicht hilft dies bei einem besseren Verständnis
#1 Die Abfrage, welche alles ausgibt.
#2 Die Abfrage für die nächste Zeile (klappt!)
#3 Die Abfrage für die vorherige Zeile (sogar ganz vereinfacht, also müsste es am LIMIT liegen)
#4 Die erste Abfrage nur umgekehrt sortiert...man sieht, die Zeile mit ID 1 steht zuerst, bei der Abfrage nummer drei wird also zuerst die erste Zeile überprüft und da hier beide WHERE Bedingungen zutreffen werden wegen LIMIT weitere Abfragen unterbunden!

Gibt es denn vielleicht noch eine andere Lösung für mein eigentliches Problem, also die vorherige Zeile in einem Datensatz ausgeben (siehe ganz oben).
 

Anhänge

  • mySQL1.gif
    mySQL1.gif
    18,3 KB · Aufrufe: 33
  • mySQL2.gif
    mySQL2.gif
    5,6 KB · Aufrufe: 37
  • mySQL3.gif
    mySQL3.gif
    4,1 KB · Aufrufe: 33
  • mySQL4.gif
    mySQL4.gif
    18,8 KB · Aufrufe: 33
Zuletzt bearbeitet von einem Moderator:
Dein zweites Query hat kein order by. Ich hoffe, dass kaum zu identifizierende Zeichen zwischen den Feldern im order by ist ein Komma und kein Punkt.
Schenke dem rechten Query noch das order by aus dem mittleren und mache dabei aus ASC ein DESC.
Ob die Sortierung richtig ist, kann man nicht sehen, da date_submittet nicht mit ausgelesen wird.

Gruß hpvw
 
Zurück