कहें कि मेरे पास 3 फ़ील्ड: 'प्लेस', 'उपयोगकर्ता' और 'बाइट्स' के साथ एक साधारण टेबल है। आइए मान लें कि कुछ फ़िल्टर के तहत, मैं 'प्लेस' और प्रत्येक 'प्लेस' के लिए समूह करना चाहता हूं, उस स्थान के लिए सभी बाइट्स को समेटने के लिए, और यादृच्छिक रूप से उस स्थान के लिए उपयोगकर्ता का चयन करें (समान रूप से फिट सभी उपयोगकर्ताओं से 'जहां' फ़िल्टर और प्रासंगिक 'जगह')। अगर वहाँ था एक एकीकृत फ़ंक्शन "से बेतरतीब ढंग से चुनें", मुझे क्या करना होगा:एसक्यूएल यादृच्छिक कुल
SELECT place, SUM(bytes), SELECT_AT_RANDOM(user) WHERE .... GROUP BY place;
... लेकिन मैं इस तरह के एक एकीकृत फ़ंक्शन नहीं पा सके। क्या मैं कुछ भूल रहा हूँ? इसे हासिल करने का एक अच्छा तरीका क्या हो सकता है?
यह आरडीबीएमएस क्या है? –
मुझे इस तरह के एक समारोह के साथ किसी भी व्यक्तिगत आरडीबीएमएस के बारे में पता नहीं है। अधिकतर परिणाम प्राप्त करने के लिए किसी अन्य तंत्र का उपयोग करने की आवश्यकता है * (जैसे कि प्रत्येक उपयोगकर्ता को यादृच्छिक संख्या असाइन करना, फिर उपयोगकर्ता को उच्चतम मूल्य के साथ चुनना।) * लेकिन प्रत्येक की अलग-अलग क्षमताएं होंगी, और प्रत्येक अलग-अलग प्रदर्शन करेगा। तो, यह वास्तव में एक आरडीबीएमएस विशिष्ट सवाल है। – MatBailie
यदि आप MySQL का उपयोग कर रहे हैं तो बस गलत 'ग्रुप बाय' लिखें (उदा। उपयोगकर्ता पर कुल लागू न करें) और यह यादृच्छिक रूप से एक पंक्ति का चयन करेगा। –