效率差的办法:
select * from 表名 order by rand( ) limit 1 ; //此处的1就是取出数据的条数
高性能的方法:
SELECT * FROM 表名 WHERE id >= ((SELECT MAX(53) FROM 表名 )-(SELECT MIN(1) FROM 表名 )) * RAND() + (SELECT MIN(1) FROM 表名 ) LIMIT 1 ; 【id是表的一个字段,max(53):id最大值,min(1):id最小值】
select * from 表名 order by rand( ) limit 1 ; //此处的1就是取出数据的条数
高性能的方法:
SELECT * FROM 表名 WHERE id >= ((SELECT MAX(53) FROM 表名 )-(SELECT MIN(1) FROM 表名 )) * RAND() + (SELECT MIN(1) FROM 表名 ) LIMIT 1 ; 【id是表的一个字段,max(53):id最大值,min(1):id最小值】