MAX(DATUM) - SQL ORACLE
Ich möchten, wählen Sie nur die neuesten membership_id aus der Tabelle user_payments
der Benutzer mit der user_id gleich 1.
Dies ist, wie die Tabelle user_payment aussieht:
PAYM_ID USER_ID MEMBSHIP_ID PAYM_DATE
---------- ---------- ----------- -------------------------------
1 1 1 18-DEC-09 12.00.00.000000000 AM
2 1 2 18-DEC-10 12.00.00.000000000 AM
3 1 2 18-DEC-11 12.00.00.000000000 AM
4 2 3 17-MAR-11 12.00.00.000000000 AM
5 3 3 18-JUN-12 12.00.00.000000000 AM
6 4 2 17-FEB-12 12.00.00.000000000 AM
7 5 2 18-FEB-11 12.00.00.000000000 AM
8 5 2 18-FEB-12 12.00.00.000000000 AM
9 6 1 01-JUN-12 12.00.00.000000000 AM
10 7 1 03-FEB-11 12.00.00.000000000 AM
11 7 2 03-FEB-12 12.00.00.000000000 AM
Ich versuche ohne Erfolg den folgenden code:
SELECT MEMBSHIP_ID
FROM user_payment
WHERE user_id=1 and MAX(paym_date);
Und ich bekomme diese Fehlermeldung:
SQL-Fehler: ORA-00934: Gruppenfunktion ist hier nicht erlaubt
00934. 00000 - "group-Funktion ist hier nicht erlaubt"
Wie kann ich es beheben? vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
Oder:
Oracle 9i+ (vielleicht 8i auch), hat die ERSTE/LETZTE Aggregat-Funktionen, die Berechnungen über Gruppen von Zeilen nach Zeile Rang in der Gruppe. Vorausgesetzt, alle Zeilen, die als eine Gruppe, Sie werden bekommen, was Sie wollen, ohne Unterabfragen:
Versuchen mit: