php - 带有 RAND() 和子句的 MySQL 随机记录

标签 php mysql random clause

我有一个数据库,我想从中随机抽取我的参赛作品。我可以完美地做到这一点:

$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/

相关文章:

mysql - fatal error : Could not load sails

c - 尽管只调用了一次 srand(),但 rand() 重复值

r - 在 R 中创建多对

php - Mysql性能,一表二

php - 为什么显示错误处理包 mysql-server-8.0 (--configure)?

php - 不可直接访问的登录表单是否有助于阻止机器人程序?

javascript - 从列表中随机选择一个项目

php - 提供的参数不是有效的 MySQL 结果资源

mysql - 如何在 Ionic 中显示 Laravel 数据库数据

php - 将最后一行连接到另一行