The-Last-Escape Posted May 1, 2007 Share Posted May 1, 2007 ok, i got this code which is supposed to select a random row in mysql. select * from quotes order by rand() limit 1 i have 10 rows in the table, and i seem to get the same row each time! i don\'t understand. maybe after reloading about 50 times i\'ll get one different row, then it will go back to the previous one for another 30 times. i have no idea why it\'s really not randomizing these. any ideas? Quote Link to comment https://forums.phpfreaks.com/topic/49557-random-row-in-mysql/ Share on other sites More sharing options...
MadTechie Posted May 1, 2007 Share Posted May 1, 2007 thats the most common way but try this SELECT * FROM `quotes` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `quotes` ) ORDER BY id LIMIT 1; i assume you have an ID field! it seams to take up less CPU and be more random (win win) Quote Link to comment https://forums.phpfreaks.com/topic/49557-random-row-in-mysql/#findComment-242981 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.