当我写'SELECT * FROM table ORDER BY RAND() LIMIT 50'
时,mysql必须随机化整个表,然后只获取50。
我想做的事(在mysql中,最好不在php中)是获取50行,然后将它们随机化。
有没有办法在Mysql中执行此操作?
答案 0 :(得分:3)
你有没有试过这样的东西
SELECT *
FROM (
SELECT *
FROM table
LIMIT 50
) sub
ORDER BY RAND()