ppmk22
Goto Top

php mySQL letzter eintag nach filtern

Hallo Leute ich stehe mal wieder vor einem Problem

Ich habe in mySQL eine Tabelle mit diversen Daten.

fd Startnummer Wertungsklasse Bahn Name

Es gibt 4 Wertungsklassen.
Nun filter ich nach Wertungsklasse und sortiere aufsteigend nach "Startnummer"
Sieht so aus:

 $qry = "SELECT * FROM mannschaft where Wertungsklasse = '".$wertungsklass."' order by Startnummer asc";  

Nun möchte ich aber noch die Bahn des letzten Eintrages wissen.

Was muss ich da noch ergänzen?


Grüß
Petra

Content-Key: 122316

Url: https://administrator.de/contentid/122316

Printed on: April 26, 2024 at 00:04 o'clock

Member: nxclass
nxclass Aug 08, 2009 at 14:29:06 (UTC)
Goto Top
versuch mal:
// ...
$qry = __SQL__
SELECT Bahn
FROM mannschaft
WHERE Wertungsklasse = $wertungsklass
ORDER BY Startnummer
LIMIT 1;
__SQL__;
// ...

Edit:
Wenn Du schon alle Daten abfragst - kann man doch auf eine 2. SQL Abfrage verzichten und den Letzten Datensatz zwischenspeichern !?
Member: filippg
filippg Aug 08, 2009 at 14:33:48 (UTC)
Goto Top
Hallo,

was ist denn der "letzte Eintrag"? Nummerierst du die Einträge fortlaufend durch (etwa mit "fd")? Dann kannst du z.B. "SELECT TOP(1) Bahn FROM mannschaft ORDER BY fd DESC" verwenden, liefert genau einen Wert, nämlich genau die letzte Bahn. Wenn du innerhalb der Datensätze keine fortlaufende Nummerierung verwendest wird es nicht gehen. In z.B. einer Excel-Tabelle siehst du zwar immer, was die letzte (=neuste) Zeile ist, eine DB garantiert im allg. aber nicht, dass die Datensätze in der Reihenfolge ausgegeben oder gespeichert werden, in der sie erfasst wurden.

Gruß

Filipp

Edit: Meine Abfrage ist falsch, TOP gibts nur in MSSQL (was ich nunmal verwende...) in MySQL ist ein LIMIT zu verwenden, siehe Beitrag von nxclass
Member: ppmk22
ppmk22 Aug 08, 2009 at 16:31:35 (UTC)
Goto Top
Ja das ist es fast gewesen.
So bekomme ich ja den ersten Eintrag, ich wollte aber den letzten.
Ich habe es jetzt so gemacht:

 $qry = 'SELECT Bahn FROM mannschaft WHERE Wertungsklasse = "Kinder" ORDER BY Startnummer DESC LIMIT 1';  

Vielen Dank und schönes Wochenende

Lieben Gruß
Petra