Tôi muốn chỉ chọn membership_id mới nhất từ bảng user_payments của người sử dụng với user_id bằng 1.MAX (NGÀY) - SQL ORACLE
Đây là cách user_payment bảng trông giống như:
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
tôi đang cố gắng không thành công đoạn mã sau:
SELECT MEMBSHIP_ID
FROM user_payment
WHERE user_id=1 and MAX(paym_date);
Và tôi nhận được lỗi này: SQL lỗi: ORA-00.934: chức năng nhóm không cho phép là ed tại đây 00934. 00000 - "chức năng nhóm không được phép ở đây"
Làm cách nào để khắc phục sự cố? cảm ơn trước!
Câu trả lời này tương quan subquery. Bạn sẽ không cần phải thay đổi đối số user_id ở nhiều nơi và bạn sẽ không phải đối phó với việc tạo nhiều tham số nếu bạn sử dụng nó từ mã khác. – shawnt00