आप OFFSET
के साथ प्रयोग करना चाह सकते हैं , जैसा कि
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
N
mytable
. में पंक्तियों की संख्या है . आपको पहले एक SELECT COUNT(*)
करने की आवश्यकता हो सकती है N
. का मान निकालने के लिए ।
अपडेट करें (एंटनी हैचकिंस द्वारा)
आपको floor
. का उपयोग करना चाहिए यहाँ:
SELECT myid FROM mytable OFFSET floor(random() * N) LIMIT 1;
2 पंक्तियों की एक तालिका पर विचार करें; random()*N
उत्पन्न करता है 0 <= x < 2
और उदाहरण के लिए SELECT myid FROM mytable OFFSET 1.7 LIMIT 1;
निकटतम पूर्णांक में अंतर्निहित गोलाई के कारण 0 पंक्तियाँ लौटाता है।