2011-10-27 11 views
5

こんにちは親愛なる友人。ORDER BY列とRAND()の両方を選択する方法は?

mysql_query("SELECT id FROM tb_table ORDER BY num ASC, ORDER BY RAND() LIMIT 1"); 

このコーディングは正しいですか? 私はすべての行ASC番号を見つけたいと思っていますが、numが1であり、numが2である1000行がある可能性があります。 しかし、最初に1sのようにASCをソートし、ランダムに1つを選択します。

答えて

9

ORDER BYを1回だけ指定する必要があります。

mysql_query("SELECT id FROM tb_table ORDER BY num ASC, RAND() LIMIT 1"); 
+1

このSQLは効率的ですか?それとも、RAND()を導入するほうがずっと遅くなっていますか? – zed

関連する問題