Zeile mit dem kleinsten Wert ausgeben
Stefan
- datenbank
Hallo,
hat jemand eine Idee wie man bei einer Tabelle à la
Diff Wert
0 12
1 34
3.8 34
2 78
1.5 42
die Zeile bekommt, bei der Diff am kleinsten ist?
Bei select min(diff), wert from ... muss ich ja eine group by wert klausel angeben, was wieder eine Tabelle mit 5 Werten ergibt.
Danke + Viele Grüße
Stefan
Hallo,
du kannst das mit Unterabfragen lösen, allerdings hängt die Verfügbarkeit des Features "Unterabfragen" (engl: sub query) von dem von dir verwendeten Datenbanksystem ab.
Für MS SQL 2000/2005, MySQL 5 geht z.b. folgendes:
SELECT Diff, Wert
FROM tabelleX
WHERE Diff =
(SELECT MIN(Diff)
FROM tabelleX)
Ciao, Frank
Hi,
danke für die schnelle Antwort!
Ich benutze Oracle SQL, das Subqueries dieser Art leider nicht zulässt.
yo,
Ich benutze Oracle SQL, das Subqueries dieser Art leider nicht zulässt.
oracle kann solche unterabfragen ausführen.
Ilja
Hi,
wenn ich das Statement auf diese Weise umschreibe kommt folgende Fehlermeldung: ORA-00934: Gruppenfunktion hier nicht zulässig.
Danke + Grüße
yo,
wenn ich das Statement auf diese Weise umschreibe kommt folgende Fehlermeldung: ORA-00934: Gruppenfunktion hier nicht zulässig.
dann wohl dadurch, dass du den beiden gleichnamigen tabellen mal einen aliasnamen verpassen solltest. nicht desto trotz kann oracle schon seit urzeiten unterabfragen.
Ilja