我发起了一场比赛,推荐他人的人每次推荐都会增加获胜的几率。现在我必须弄清楚如何使用 mysql 或 php 来实际为他们提供更好的赔率。选择随机行不会削减它。
在我的表格中有两列,一列用于 ID,一列用于推荐 ID。该表通过将 ID 添加到推荐 ID 字段来跟踪谁推荐了谁,因此前几行数据如下所示:
name id referralid
mark 15 20
ted 20
jim 22 20
所以“ted”应该有 3 次获胜的机会,因为他推荐了另外两个人。我如何在 mysql 或 php 中执行此操作?
最佳答案
SELECT people.name, people.id
FROM people
LEFT JOIN people referred_people ON referred_people.referralid = people.id
ORDER BY RAND()
LIMIT 1
假设您的表名为people,这会选择
mark
ted
ted
jim
使用臭名昭著的 ORDER BY RAND() 结构对其进行随机排序(速度较慢,但您并未要求最高性能),然后从该列表中选择一个结果。
关于mysql - 使用两列选择随机条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12917029/