Hi When I used the RAND() function (MySQL 3.23.45) I found the results were not very random, instead I use an extra bit of php code to make sure the results are more random.
mt_srand((double)microtime()*1000000); $sql = "select .... order by RAND(".mt_rand(0,32767).") limit 50" $rs = mysql_query($sql); $num=mysql_num_rows($rs); if($num>1) mysql_data_seek($rs,mt_rand(0,$num-1)); $row=mysql_fetch_array($rs); To get a random record from earlier versions of MySQL you could do something like this. mt_srand((double)microtime()*1000000); $sql = "select... ..where .... limit 0,50" $rs = mysql_query($sql); $num=mysql_num_rows($rs); if($num>1) mysql_data_seek($rs,mt_rand(0,$num-1)); $row=mysql_fetch_array($rs); if you have a lot of records you can always put random numbers in the limit clause, (select ... where ...limit random_number, random_number + 50) this will return a random block of records, then use the seek functions to randomly pick a record from the record block, just make sure random_number isn't greater than the total records in your recordset. Pete Kelly ----- Original Message ----- From: "Gurhan Ozen" <[EMAIL PROTECTED]> To: "Cummings, Shawn (GNAPs)" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Tuesday, May 07, 2002 5:11 PM Subject: RE: Using RAND() > You have to have MySQL 3.23 or greater.. > > http://www.mysql.com/doc/M/a/Mathematical_functions.html > > Gurhan > > -----Original Message----- > From: Cummings, Shawn (GNAPs) [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, May 07, 2002 11:33 AM > To: [EMAIL PROTECTED]; Ulf Harnhammar > Cc: [EMAIL PROTECTED] > Subject: Using RAND() > > > > > The RAND() syntax does not appear to be working for me. > > What version mySQL is required? > > > At 04:43 PM 1/29/2002 +0200, Michael Widenius wrote: > > >Hi! > > > > >>>>> "Ulf" == Ulf Harnhammar <[EMAIL PROTECTED]> writes: > > > >Ulf> On Sun, 27 Jan 2002, Michael Widenius wrote: > > >> One way to do this is to do as follows: > > >> SELECT something FROM sometable WHERE somevar=somevalue ORDER BY > > >> RAND() LIMIT 10 > > > --------------------------------------------------------------------- > Before posting, please check: > http://www.mysql.com/manual.php (the manual) > http://lists.mysql.com/ (the list archive) > > To request this thread, e-mail <[EMAIL PROTECTED]> > To unsubscribe, e-mail > <[EMAIL PROTECTED]> > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > > > --------------------------------------------------------------------- > Before posting, please check: > http://www.mysql.com/manual.php (the manual) > http://lists.mysql.com/ (the list archive) > > To request this thread, e-mail <[EMAIL PROTECTED]> > To unsubscribe, e-mail <[EMAIL PROTECTED]> > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > > > > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php