mysql 高效率高性能随机查询
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最小值】
$sql ="SELECT * FROM c_prods WHERE id >= ((SELECT MAX(53) FROM c_prods )-(SELECT MIN(1) FROM c_prods )) * RAND() + (SELECT MIN(1) FROM c_prods ) LIMIT 4 ; "; $res = DB::select($sql); return array_map('get_object_vars', $res);