ssjskipp Posted July 6, 2006 Share Posted July 6, 2006 How can I run a query that orders the data randomly?IE:Normally, throught PHP and MySQL, I'd do this:[code=php:0]<?$order = "ORDER BY `id` ASC";$query = mysql_query("SELECT * FROM `user` WHERE `active` = '1' $order");$rows = mysql_num_rows($query);if ($rows > 0){while($data = mysql_fetch_array($query)){echo $data["name"];}} else {echo "No users";}[/code]But how would I do that in a random order, rather than by id and ascending? Link to comment https://forums.phpfreaks.com/topic/13890-random-query/ Share on other sites More sharing options...
jvrothjr Posted July 11, 2006 Share Posted July 11, 2006 [code]$query = mysql_query("SELECT * FROM `user` WHERE `active` = '1'");[/code]This will get you the order the data was pulled from the table Link to comment https://forums.phpfreaks.com/topic/13890-random-query/#findComment-56233 Share on other sites More sharing options...
ssjskipp Posted August 1, 2006 Author Share Posted August 1, 2006 I got it, =D Link to comment https://forums.phpfreaks.com/topic/13890-random-query/#findComment-66849 Share on other sites More sharing options...
CCalo Posted August 23, 2006 Share Posted August 23, 2006 Try something like this:<?php$query = "SELECT * FROM `mytable` ORDER BY RAND() LIMIT 10";$result = mysql_query($query);?>This query will give you 10 randomly-sorted records from the table named "mytable". Link to comment https://forums.phpfreaks.com/topic/13890-random-query/#findComment-79189 Share on other sites More sharing options...
optimaximal Posted November 30, 2006 Share Posted November 30, 2006 This won't work in MSSQL (LIMIT is for MySQL and Oracle only & RAND isn't supported by MSSQL).A function that [b]will[/b] work is -"SELECT TOP 10 * FROM `tablename` ORDER BY NEWID();" Link to comment https://forums.phpfreaks.com/topic/13890-random-query/#findComment-132775 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.