HALIL DEMIREZEN wrote:
> Hi,
>
> I am trying to run an sql query such as below to list items=x randomly and
> then items != x randomly..
>
>
> mysql> (select * from tablea where item=1 order by rand()) union all
> (select  * from tablea where item != 1 order by rand());
>
> but the result is not as expected. rand() seems not to be working...
>
> What can be the problem? or what can be the difference between my will and
> the exact result of the query?

Gleb Paharenko wrote:
> Hello.
>
>>From http://dev.mysql.com/doc/refman/5.0/en/union.html:
>
> "ORDER BY for individual SELECT statements within parentheses has an
> effect only when combined with LIMIT. Otherwise, the ORDER BY is
> optimized away."
>
> Therefore you're getting the same results, because ORDER BY doen't
> work for your query.

HALIL DEMIREZEN wrote:
What if i want to list all the records not limiting them to a constant?

How about

  SELECT * FROM tablea
  ORDER BY (item != 1), RAND();

Michael

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to