मैं केवल तालिका user_payments user_id साथ उपयोगकर्ता के लिए 1.मैक्स (DATE) - एसक्यूएल ओरेकल
बराबर की से नवीनतम membership_id चयन करना चाहते हैं यह कैसे तालिका user_payment लग रहा है जैसे:
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
मुझे कोई सफलता के साथ कोशिश कर रहा हूँ निम्नलिखित कोड:
SELECT MEMBSHIP_ID
FROM user_payment
WHERE user_id=1 and MAX(paym_date);
और मैं इस त्रुटि मिलती है: एसक्यूएल त्रुटि: ORA-00934: समूह कार्य की अनुमति नहीं है यहां 00934. 00000 - "समूह फ़ंक्शन की अनुमति नहीं है"
मैं इसे कैसे ठीक कर सकता हूं? अग्रिम में धन्यवाद!
इस उत्तर सबक्वेरी संबद्ध करता है। आपको user_id तर्क को कई स्थानों पर बदलने की आवश्यकता नहीं होगी और यदि आप इसे अन्य कोड से उपयोग करते हैं तो आपको एकाधिक पैरामीटर बनाने से निपटने की आवश्यकता नहीं होगी। MAX कुल योग के विकल्प के रूप में row_number() रैंकिंग फ़ंक्शन का सुझाव देने के लिए – shawnt00