ランダムな結果セットを得るために "order by rand alternative"クエリ(下)を使用したいが、結果の中からクエリのようなクエリを取得したい:サブクエリから最適化されたランダムな結果を選択
SELECT t2.id FROM index_table t1 JOIN data_table t2 ON t1.id= t2.index_id
そして、私が返すランダムな結果の数を制限する必要があります。 私は使用する必要のある構文を頭に浮かべることはできません。
おかげ
"注文ランドの代替による" クエリ:
How can i optimize MySQL's ORDER BY RAND() function?
SELECT *
FROM (
SELECT @cnt := COUNT(*) + 1,
@lim := 10
FROM t_random
) vars
STRAIGHT_JOIN
(
SELECT r.*,
@lim := @lim - 1
FROM t_random r
WHERE (@cnt := @cnt - 1)
AND RAND(20090301) < @lim/@cnt
) i
私は最適化された方法を引用し、非効率的であるので、 – DonutReply