2011-01-03 14 views
7

मेरे पास एक MySQL डेटाबेस तालिका है जो फ़ोटो के यूआरएल स्टोर करती है। मुझे किसी विशेष प्रकार के डेटाबेस से 5 यादृच्छिक रिकॉर्ड खींचने की आवश्यकता है। मैं इस तरह 5 रिकॉर्ड खींच कर सकते हैं:MySQL: यादृच्छिक पंक्ति या एकाधिक यादृच्छिक पंक्तियों को कैसे पुनर्प्राप्त करें?

SELECT Photos.* 
FROM Photos 
WHERE Photos.Type_ID = 4 
LIMIT 5 

अब मैं यह पता लगाने की कैसे अलग रिकॉर्ड हर बार खींचने की कोशिश कर मदद की जरूरत है। मैं इस परिणाम सेट से यादृच्छिक पंक्तियों को कैसे प्राप्त कर सकता हूं?

+0

डुप [शुद्ध SQL में यादृच्छिक पंक्ति का अनुरोध करने का सबसे अच्छा तरीका क्या है?] (Http://stackoverflow.com/q/19412/90527) – outis

उत्तर

8

आप अपनी क्वेरी में यादृच्छिक पंक्तियों को प्राप्त करने के लिए ORDER BY RAND() का उपयोग कर सकते हैं।

+0

+1 वह स्कोर करता है, वह स्कोर करता है। :-) –

+0

यह वास्तव में काम करता है !! – venomrld

+8

आपने अभी तक एसक्यूएल के क्रोध को बुलाया है। –

6
SELECT Photos.* 
FROM Photos 
ORDER BY RAND() 
LIMIT 5 
2

Google इस विस्तृत पृष्ठ पर इंगित करता है। ऐसा लगता है कि यह काम करता है। मुझे यकीन है कि यह प्रत्येक बार अलग रिकॉर्ड सुनिश्चित नहीं कर सकता है, लेकिन कोशिश करने लायक है। http://akinas.com/pages/en/blog/mysql_random_row/

संबंधित मुद्दे