Dubletten entfernen nicht vergessen.
Und die Aufgabe kann auch nur mit einer Unterabfrage gelöst werden. Warum, steht im Oracle Tutorial.
Dubletten entfernen nicht vergessen.
Und die Aufgabe kann auch nur mit einer Unterabfrage gelöst werden. Warum, steht im Oracle Tutorial.
Das ist, kurz gesagt, Unsinn. Natürlich habe mein Query getestet und das Ergebnis war völlig korrekt. Du argumentierst also quasi an der Realität vorbei...Zitat
Du solltest dein Wissen über SQL bitte nochmal etwas aufbessern, bevor du solche Beinahe-Wahrheiten verkündest. Anders gesagt: Du irrst dich. Such mal nach "correlated subquery".Zitat
Groß... Klein... Details! Anders gesagt: Ups, stimmt natürlich :-)Zitat
Hier sehe ich sogar einen Vorteil meines Ansatzes, der würde ALLE Zeilen ausgeben, die den fünftgrößten Wert beinhalten. Praktisch :-)Zitat
(Edit: Ginge natürlich andersrum auch, einfach höchsten Wert suchen und dann alle Zeilen damit ausgeben, vermutlich sogar schneller... Wie gesagt, dieses innere Query hier dürfte kaum die schnellste Lösung sein, da müßte man sich die Logs mal anschauen).
Geändert von Irian (21.11.2009 um 17:51 Uhr) Grund: Typo gefixt
Zeig deinen Code und ich zeige dir wo dein Fehler ist. (Nicht dass ich nicht schon einen korrekten Lösungsvorschlag mit ROWNUM gepostet habe.)
Das ist jetzt die Innere. Wenn ich jetzt select *, rownum schreibe, meldet er sofort einen Fehler.
Die äußere kann ich machen, was ich will. Nach den Methoden, die hier beschrieben werden, bekomm ich ebenfalls einen Fehler. Ansonsten ist und bleibt rownum = 52.
edit:
Nach deiner Methode
gibt er nicht mal ein ein Ergebnis aus.
Ausserdem frag ich mich die ganze Zeit, was SQL großartig mit Webentwicklung zu tun hat.
Sicherlich werden die Daten in eine SQL Tabelle gespeichert aber es gibt noch andere Anwendungsbereiche für SQL ausser Webentwicklung.
Geändert von Whiz-zarD (21.11.2009 um 20:24 Uhr)