समस्या:
मेरे पास एक सारणी है जो foo
में डेटा पंक्तियों को रिकॉर्ड करती है। प्रत्येक बार पंक्ति अद्यतन होने पर, एक संशोधन संख्या के साथ एक नई पंक्ति डाली जाती है। तालिका इस तरह दिखती है:कई समूहों के लिए रिकॉर्ड के प्रत्येक समूह में सबसे हालिया और विशिष्ट संस्करण का चयन करना
id rev field
1 1 test1
2 1 fsdfs
3 1 jfds
1 2 test2
ध्यान दें कि तालिका में अंतिम रिकॉर्ड पहली पंक्ति का एक नया संस्करण है।
क्या किसी को पंक्तियों के नवीनतम संस्करण के लिए पूछने के लिए एक कुशल तरीका पता है, रिकॉर्ड के एक विशिष्ट संस्करण का उत्तर दें? उदाहरण के लिए, rev=2
के लिए एक क्वेरी 2, 3 और चौथी पंक्ति (हालांकि पहली पंक्ति को प्रतिस्थापित नहीं किया गया है) लौटाएगी जबकि rev=1
के लिए एक क्वेरी < = 1 के साथ उन पंक्तियों को उत्पन्न करती है और डुप्लीकेट आईडी के मामले में, उच्च संशोधन वाले व्यक्ति संख्या चुना जाता है (रिकॉर्ड: 1, 2, 3)।
मैं वास्तव में यकीन है कि अगर यह एसक्यूएल सर्वर में भी संभव है नहीं कर रहा हूँ ...
मैं एक सतत तरह से परिणाम वापस जाने के लिए पसंद करते हैं नहीं होगा।
एसक्यूएल सर्वर किस संस्करण का उपयोग कर रहे हैं? –
एमएस एसक्यूएल 2008 आर 2, लेकिन आदर्श रूप में मैं एक क्वेरी जेनरेट करना चाहता हूं जो किसी भी एसक्यूएल सर्वर विनिर्देशों पर निर्भर नहीं है। – orange
इस प्रश्न को 'रिकर्सन' और 'आरसीएस' के रूप में क्यों टैग किया गया है? –