max() in where Bedingung möglich?
Kicky
- datenbank
0 Rouven
Hallo an alle,
ich versuche ein update auf meine Datenbank zu machen, wo die Spalte bild_nummer den höchsten wert hat. Ich habe stundenlang gesucht nach max(), aber mir ist immer noch nicht klar ob - und wenn wie ich es in die Bedingung bauen kann.
mysql_query("UPDATE foto SET bild_vor=0 WHERE thema=$galerie_nummer and bild_nummer=max(bild_nummer)");
So funktioniert es leider nicht. Ich hoffe, jemand hat einen Rat für mich und sage vorab
herzlichen Dank
Kicky
Hi,
hm, meine spontane Idee bei einem anderen DBMS als MySQL wäre statt direkt bild_nummer=max(bild_nummer) ein SUB-SELECT im Stil von
and bild_nummer =
(SELECT max(bild_nummer) FROM ...)
zu machen - Da das aber in der aktuellen MySQL-Version nicht geht, könntest du zumindest die zwei Abfragen sequentiell nacheinander machen:
1.
SELECT max(bild_nummer) AS maxnummer FROM ...
$row = mysql_fetch_array($result);
$max_nummer = $row['maxnummer'];
--> Dann 2.
SELECT ... WHERE thema=$galerie_nummer and bild_nummer=$max_nummer