आप इसे कुछ सामान्यीकरण के साथ हल कर सकते हैं:
- एक द्वितीयक तालिका बनाएं जिसमें आपकी डेटा तालिका के समान pkeys और स्थितियाँ हों
- एक स्थिति समूह कॉलम जोड़ें और पॉप्युलेट करें जो एक प्रकार का उप-पकी होगा जिसे आप स्वयं नंबर (एक स्थिति के सापेक्ष 1-आधारित ऑटोइनक्रिकमेंट)
जब आपको फ़िल्टर करने की आवश्यकता नहीं होती है तो आप pkey पर रैंड #s उत्पन्न कर सकते हैं जैसा आपने ऊपर बताया है। जब आपको फ़िल्टर करने की आवश्यकता हो तो उस विशेष स्थिति की StatusPkeys के विरुद्ध रैंड उत्पन्न करें जिसमें आप रुचि रखते हैं।
इस तालिका को बनाने के कई तरीके हैं। आपके पास एक प्रक्रिया हो सकती है जिसे आप अंतराल पर चलाते हैं या आप इसे लाइव कर सकते हैं। उत्तरार्द्ध एक प्रदर्शन हिट होगा, हालांकि StatusPkey की गणना करना महंगा हो सकता है।