यदि आपके पास एक आईडी कॉलम है, तो यह करना बेहतर होगा:
-- create a variable to hold the random number
SET @rownum := SELECT count(*) FROM table;
SET @row := (SELECT CEIL((rand() * @rownum));
-- use the random number to select on the id column
SELECT * from tablle WHERE id = @row;
रैंडम आईडी नंबर चुनने का तर्क एप्लिकेशन स्तर पर ले जाया जा सकता है।
SELECT * FROM table ORDER BY RAND LIMIT 40
बहुत अक्षम है क्योंकि MySQL सभी पंक्तियों पर एक पूर्ण तालिका स्कैन करते हुए तालिका के सभी अभिलेखों को संसाधित करेगा, उन्हें यादृच्छिक रूप से क्रमित करेगा।