60 और 120 के बीच एक यादृच्छिक पूर्णांक बनाने के लिए, आप RAND()
के परिणाम है, जो केवल चल बिन्दु मान का उत्पादन के साथ गणित का एक सा सब करने की ज़रूरत
RAND()
0.847269199
जैसे मान का उत्पादन करेगा। हम उस 61 से गुणा करते हैं, जो हमें 51.83615194 मान देता है। हम 60 जोड़ते हैं, क्योंकि यह शून्य से ऊपर वांछित ऑफसेट है (111.83615194)। FLOOR()
पूरी चीज को निकटतम पूर्ण संख्या तक ले जाती है। अंत में, आप 111.
कुछ हजार मौजूदा पंक्तियों पर ऐसा करने के लिए है:
UPDATE table SET randcolumn = FLOOR(60 + RAND() * 61) WHERE (<some condition if necessary>);
अधिक उदाहरण के लिए the MySQL docs on RAND()
देखें।
नोट मुझे लगता है कि मैं गणित का अधिकार है, लेकिन अगर आप की उम्मीद सीमा के बाहर 59 या 121 के मूल्यों को प्राप्त, +60
ऊपर या नीचे तदनुसार बदल जाते हैं।
स्रोत
2011-08-20 03:17:54
यह केवल [0; 120) में संख्याएं उत्पन्न करेगा - आपको 61 से गुणा करने की आवश्यकता है। – emboss
@emboss यह [60: 119], [0: 120] नहीं है, लेकिन आप इसके बारे में सही हैं 61 गुणक –
ओह, हाँ :) मैं इसे सही कर दूंगा ... लगता है कि मैं अब और नहीं कर सकता। – emboss