Hallo Andreas,
gibt es eine Möglichkeit, mit einem select (natürlich mit order by, so daß eine Ordnung gegeben ist) die drittletzte Zeile der Ergebnis-Menge auszuwählen?
SELECT id,starttime FROM tabelle WHERE name='bla' ORDER BY starttime
Bei MySQL ginge das ja mit LIMIT, aber bei Oracle?
Mein naiver Ansatz mit ROWNUM = 3 im WHERE-Teil bringt ein leeres Ergebnis (Klar, durch diese Einschränkung hat die Ergebnismenge nur noch eine Zeile, und die hat ROWNUM = 1, ist also nicht die mit ROWNUM = 3, woraufhin die endgültige Ergebnismenge leer ist ...).
Wie krieg ich das ohne das dreifach-Select-Monster hin?
ein Subselect benötigst Du. Im inneren SELECT musst Du den jeweiligen Wert von ROWNUM in eine Spalte bekommen, dann kannst Du im äußeren SELECT auf den Wert 3 abfragen, siehe diese Archivdiskussion, die kein konkretes Statement liefert, aber den Weg anspricht. Es geht, hab' ich damals selbst durchgetestet.
Freundliche Grüße
Vinzenz