我有一个数据库,我想从中随机抽取我的参赛作品。我可以完美地做到这一点:
$query = "SELECT * FROM mytable ORDER BY RAND()
问题是数据库中包含比赛中跳马的参赛顺序,没有跳马可以连续跳。我有以下设置:
|jumper | horse | id|
| Pedro | gfs | 1 |
| Gustavo | psg | 2 |
| Breno | sdwed | 3 |
| bruno | sdsd | 4 |
| Carlos | powkd | 5 |
| Andrea | linda | 6 |
| Gustavo | handara | 7 |
我必须防止跳跃者 Gustavo 被连续抽到跳跃,因为他必须非常快地换马。事实上,如果他被抽中,他只能在其他 3 名选手之后再次被抽中。将不胜感激关于如何做到这一点的任何想法。
最佳答案
只需从后续查询中过滤掉最近的三个跳转:
SELECT * FROM mytable
WHERE id NOT IN (1,4,8) /* use recent id's here */
ORDER BY RAND()
关于php - 带有 RAND() 和子句的 MySQL 随机记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28757513/