Hi Klaus!
SELECT Artikelname FROM table ORDER BY Preis LIMIT 1
Wobei Du Dir bewußt sein solltest, daß hier nur _ein_ Artikel abgefragt werden kann, der den kleinsten PReis hat. Sind mehrere Artikel mit dem selben Preis in der Datenbank, ist es mehr oder weniger Glückssache, welcher als Ergebnis geliefert wird.
Guter Einwurf, theoretisch ist das durchaus möglich, also muss ich noch nach timestamp sortieren, also:
SELECT Artikelname FROM table ORDER BY Preis,Timestamp LIMIT 1
Wie formuliert man denn sowas am besten?
|
Wenn Subselects möglich sind (afaik unter mySQL ab Version 4.1) dann würde ich es, denke ich, so schreiben:
Also MySQL 4.1 will ich dann doch nochnicht auf einem produktiven Syetem einsetzen ;-)
SELECT Artikelname FROM table
WHERE Preis = ( SELECT MIN(Preis) from table)
Aber das ist es eigentlich was ich will, wobei, wenn ich hier noch den mit dem ältesten Timestamp finden will, brauche ich da wohl noch ein Subselect oder RDER BY + Limit, oder? Mit Subselects habe ich Dank MySQL noch nie was gemacht...
Die Abfarge soll aber mit MySQl _und_ PostgreSQL funktionieren, udn ich denek obige sollte das tun. Da gibt es nämlich so lustige Sachen wie dass LIMIT 1,2 in MySQL andere Datensätze zurück gibt als in PostgreSQL(da wäre das dann LIMIT 2,1)...
Das macht eien DB-Abstraktion nicht wirklich leichter...
Grüße
Andreas