पता नहीं है, लेकिन आप DISTINCT के बजाय द्वारा समूह को देखने के लिए आवश्यकता हो सकती है ...
: हाल ही में StartDate के साथ एक तो आप इसे करने के लिए संशोधित कर सकते
यदि आप एक ही सदस्य आईडी के साथ कई रिकार्ड है, तो आप कैसे एक आप दूसरों से चाहते हैं की पहचान करने के exaclty निर्दिष्ट करने के लिए आवश्यकता हो सकती है
जैसे प्रत्येक member`s पिछले प्रारंभ दिनांक प्राप्त करने के लिए:
SELECT memberid, max(startingdate)
FROM annualfees
GROUP BY memberid
लेकिन यदि आप जिस तरह से इस तरह का में एक रिकॉर्ड की पहचान करने के बल्कि अन्य स्तंभ प्रदर्शित की जरूरत है, मैं you may need to do some trickery like this लगता है ...
जैसे उप क्वेरी ऊपर अन्य शामिल होने के लिए शामिल होने के एक साथ चयन वांछित कॉलम:
SELECT subq.memid, subq.startdate, a.expirydate, a.amount
FROM (
SELECT memberid AS memid, max(startingdate) AS startdate
FROM annualfees
GROUP BY memberid) subq
INNER JOIN annualfees a ON a.memberid = subq.memid
AND a.startingdate = subq.startdate
शुरू से आखिर तक, यह भी दिखा डेटा तालिका (ओ/p पता लगाया था/"सेट सत्यापित करें" का उपयोग कर पकड़ लिया) ...
-- show all rows
select *
from annualfees
order by memberid, startingdate
MEMBERID STARTINGDATE EXPIRYDATE AMOUNT
---------------------- ------------------------- -------------------- --------------------
1 02-DEC-09 05-FEB-10 111
1 25-JUN-10 25-JUN-11 222
2 25-APR-10 25-JUN-13 333
3 rows selected
/
-- show one member`s data using max(startingdate) as selector.
SELECT memberid, max(startingdate)
FROM annualfees
GROUP BY memberid
MEMBERID MAX(STARTINGDATE)
---------------------- -------------------------
1 25-JUN-10
2 25-APR-10
2 rows selected
/
-- show above data joined with the other columns.
SELECT subq.memid, subq.startdate, a.expirydate, a.amount
FROM (
SELECT memberid AS memid, max(startingdate) AS startdate
FROM annualfees
GROUP BY memberid) subq
INNER JOIN annualfees a ON a.memberid = subq.memid AND a.startingdate = subq.startdate
MEMID STARTDATE EXPIRYDATE AMOUNT
---------------------- ------------------------- -------------------- --------------------
1 25-JUN-10 25-JUN-11 222
2 25-APR-10 25-JUN-13 333
2 rows selected
/
तो आप कैसे चुनना चाहते हैं कि सदस्य आईडी = 123 के लिए कई वार्षिक फीस पंक्तियों को प्रदर्शित किया जाना चाहिए? या आप बस किसी एक यादृच्छिक पंक्ति चाहते हैं? –