ich die folgende Tabelle haben:den neuesten Eintrag wählen
LOCATION_ID, PERSON_ID, DATE
3, 65, 2016-06-03
7, 23, 2016-10-28
3, 23, 2016-08-05
5, 65, 2016-07-14
ich eine Auswahlabfrage in PL/SQL aufbauen wollen die Datensätze mit dem letzten location_id pro person_id auszuwählen. Für das obige Beispiel sollte das gewünschte Ergebnis sein:
LOCATION_ID, PERSON_ID, DATE
5, 65, 2016-07-14
7, 23, 2016-10-28
(DATUM ausgedrückt als 'YYYY-MM-DD')
Thank you!
Haben Sie alle Antworten überprüft, die Sie erhalten haben? Sie haben den ineffizientesten als "korrekt" markiert. Wernfrieds * zweite * Lösung ist eindeutig die beste. Es macht nur einen Durchlauf über die gesamte Tabelle - es gibt keine Joins, also wird es VIEL schneller als jede Join-basierte Lösung sein. Die zweitbeste Lösung (zwei Durchgänge, aber immer noch keine Verbindungen, also immer noch viel schneller) sind Hawks Lösung und Wernfrieds * erste * Lösung. Wenn Sie ihre Lösungen nicht verstanden haben, könnten Sie ** fragen **. – mathguy
Ich markierte "richtig" die erste Antwort, die ich las und für mich arbeitete. Heute lese ich alle Antworten. –