Gonzo: Hilfe mit SQL Anfrage

Beitrag lesen

Pkt01, Pkt02, Pkt02, Pkt03, Pkt04, Pkt04, Pkt05, ...

Ich möchte immer nur den neusten Punkt (den am weitesten unten in der Tabelle) und jeweils nur ein Punkt haben.

Falls du den zeitlich neuesten Eintrag haben willst, dann speichere das Erstellungs- oder Änderungsdatum, entweder mit einer Spalte DATETIME und  der Funktion NOW() (für ein Erstellungsdatum) oder mit einer Spalte TIMESTAMP (für ein Erstellungs- und Änderungsdatum, aktualisiert sich automatisch).

Falls "neuestes Datum" und "neuester Punkt" jedoch nicht analog verlaufen, "neuester Punkt" aber kontinuierlich steigend ist, dann sortiere nach points:

  • Bei Pktnn mit 00 <= nn <= 99: select * from tabelle order by points desc limit 1.
  • Bei Pktn mit n beliebig: select cast(substring(points,3) as unsigned) as sortierung from tabelle order by sortierung desc limit 1 (wobei ich jetzt nicht weiß, ob das cast() nötig ist).
  • Lasse "Pkt" ganz weg, speichere nur die Zahl als solche.