SET @a=(SELECT FLOOR(RAND() *(SELECT COUNT(*) FROM table_a)/10000)); # 取随机页
SELECT b.*
FROM
(
SELECT recordid
FROM
(
SELECT recordid FROM table_a
LIMIT @a,10000 # 取随机页id,
# 此处注意,limit 只能用常量,所以@a传递不了。只能和上面查询分别执行两次
) AS a
ORDER BY RAND()
LIMIT 10 #页内二次随机
) a
JOIN table_a b #取数据
ON a.recordid=b.recordid
;