You can't use a column with RAND() values in an ORDER BY clause, because ORDER BY would evaluate the column multiple times. In MySQL Version 3.23, you can, however, do: SELECT FROM table_name ORDER BY RAND() This is useful to get a random sample of a set SELECT FROM products ORDER BY RAND() LIMIT 1.. this is what you most likely want. Note that a RAND() in a WHERE clause will be re-evaluated every time the WHERE is executed.
-Jon
quoting documentation since 1999