我之前一般都喜欢直接用rand函数 简单 方便
SELECT * FROM ‘table’order by rand() limit 20;
后来数据多了之后 就开始变慢了
就搜文章 看到一个解决方案 用的join
不明觉厉,先记录一下
SELECT
*
FROM
`table` AS t1
JOIN (
SELECT
ROUND(
RAND() * ((
SELECT
MAX( id )
FROM
`table`
)-(
SELECT
MIN( id )
FROM
`table`
))+(
SELECT
MIN( id )
FROM
`table`
)) AS id
) AS t2
WHERE
t1.id >= t2.id
ORDER BY
t1.id
LIMIT 20;
真的是牛逼
参考链接
他要告别的不是一座城而是曾经的自己