Jump to content

Archived

This topic is now archived and is closed to further replies.

ssjskipp

Random Query

Recommended Posts

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?

Share this post


Link to post
Share on other sites
[code]$query = mysql_query("SELECT * FROM `user` WHERE `active` = '1'");[/code]

This will get you the order the data was pulled from the table

Share this post


Link to post
Share on other sites
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".

Share this post


Link to post
Share on other sites
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();"

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.