| #255 | $keys = array(); |
| #256 | $i = 0; |
| #257 | while ($i<$limit){ |
| #258 | //$sql = "SELECT id FROM {$table_full} WHERE id >= ((SELECT MAX(id) FROM {$table_full})-(SELECT MIN(id) FROM {$table_full})) * RAND() + (SELECT MIN(id) FROM {$table_full}) LIMIT 1";//这个sql一直在小范围循环 |
| #259 | $sql = "SELECT t1.id FROM {$table_full} AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM {$table_full})) AS id) AS t2 WHERE t1.id >= t2.id LIMIT 1"; //这里不能是limit 多条,多条的话是连续的id |
| #260 | $arr = $run->db->fetch_first($sql); |
| #261 | if($arr && !in_array($arr['id'], $keys)){ |
| #262 | $keys[] = $arr['id']; |
| #263 | $i++; |
| #264 | } |