MySQL - मैं एक स्तंभ के अंदर बेतरतीब ढंग से परिणाम कैसे ऑर्डर करुं?

वोट
1

मैं एक मेज से पंक्तियों को पुनः प्राप्त करने की जरूरत है (यानी: 'आदेश') एक स्तंभ द्वारा आदेश दिया बेतरतीब ढंग से (कहते हैं 'उपयोगकर्ता की सुविधा देता है)। यही कारण है कि मैं एक ही उपयोगकर्ता के सभी आदेशों को जरूरत है एक साथ रहने के लिए (एक के बाद एक) और उन बेतरतीब ढंग से आदेश दिया जा करने के लिए, है।

12/03/2009 को 15:30
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
3

मुझे लगता है करने के लिए आप "उन" नामक एक दूसरी तालिका उस में सभी उपयोगकर्ताओं है कि है जा रहा हूँ। यदि नहीं, तो आप अभी भी आदेश पर एक और चयन DISTINCT सबक्वेरी जोड़ कर ऐसा कर सकता है, लेकिन इतना मेसियर होगा:

SELECT orders.* 
FROM orders 
INNER JOIN (SELECT userid, RAND() as random FROM users) tmp
ON orders.userid = tmp.userid
ORDER BY tmp.random, tmp.userid

आप यादृच्छिक संख्या और उपयोगकर्ता आईडी से ऑर्डर करने के लिए, इसलिए यदि दो उपयोगकर्ता आईडी एक ही यादृच्छिक संख्या अपने आदेश सभी एक साथ गड़बड़ नहीं की जाएगी मिल चाहता हूँ।

12/03/2009 को 15:45
का स्रोत उपयोगकर्ता

वोट
0

रिवर्स (उपयोगकर्ता) द्वारा आदेश?

13/03/2009 को 12:08
का स्रोत उपयोगकर्ता

वोट
0

कैसे यादृच्छिक यह होना जरूरी है? मैं कुछ संभव जवाब के बारे में सोच सकते हैं।

यदि "यादृच्छिक" अनुक्रम दोहराने योग्य होना चाहिए, आप, यूजर आईडी के हैश के आधार पर सॉर्ट MD5 या आप अपने आप को जैसे आदेश बनाने के लिए एक कस्टम एक MD5 द्वारा (), secondary_sort_column का उपयोग कर सकते हैं।

12/03/2009 को 15:44
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more