Letzter wert der mysql tabelle!

JesusFreak777

Erfahrenes Mitglied
Hallo,

PHP:
	$result = mysql_query("SELECT * FROM `".$b_val."` LIMIT 1");
	echo mysql_result($result,0);

so bekomme ich den ersten wert meiner Tabelle! Wie schaff ich es aber den letzten zu bekommen?

Hier geht es um keine Sortierung oder sonst was, es geht alleine darum welcher wert am weitesten unten steht! ein DESC hab ich noch nirgendwo sinnvoll unterbringen können! ein SORT BY kann ich mir nicht vorstellen da die werte so ->

1
6
3
7
3

in der Tabelle stehen -> mein Ergebnis soll in diesen Fall 3 sein!

Vielen Dank
 
Du müsstest doch irgendeine id mit autoincrement / irgendwas haben, was unique ist.. Warum nicht?

Weil Deine Tabelle "scheinbar" keine solche Dinge hat, musst Du sie wohl komplett auslesen, die while-Schleife vollständig durchgehen und den letzten Wert auslesen.

mfg chmee
 
Keine Ahnung welchen Sinn das haben soll aber so würde es gehen:
SQL:
SELECT COUNT(*)-1 FROM `".$b_val."` INTO @skip;
PREPARE STMT FROM 'SELECT * FROM `".$b_val."` LIMIT ?, 1';
EXECUTE STMT USING @skip;
 
Zuletzt bearbeitet von einem Moderator:
Hab grad überlegt, ob man nicht ein Subselect auf * selber mit einer generierten id aufstockt und diese in der Hauptselect nach jener id DESC sortiert und auf 1 limitiert..

Zu spät, dass ich das in MySQL umsetze. sorry. *Nachtrag am Morgen*
Andersrum als ich's überlegt hab. Mit der Subselect wird die Variable initalisiert und dann in der Hauptquery inkrementiert.
SQL:
SELECT 
   @row := @row + 1 as row, 
   t.* FROM tabellenname t, 
   (SELECT @row := 0) r 
ORDER BY 
   row DESC
LIMIT 
   1

mfg chmee
 
Zuletzt bearbeitet von einem Moderator:
Ich kam auf den gleichen Weg wie chmee. Einfach ein bisschen eine einfachere Umsetzung:
Die Zeilennummer erstellen und Absteigend sortieren. Habs getestet - sieht gut aus
SQL:
SELECT
	mydata.*
FROM
	(SELECT @rownum:=0) AS vars,
	{$b_val} AS mydata
ORDER BY
	(@rownum := @rownum + 1) DESC
LIMIT
	1
 
Zuletzt bearbeitet von einem Moderator:
Zurück