3

我创建了一个竞赛,推荐他人的人每次推荐都会增加获胜的几率。现在我必须弄清楚如何使用 mysql 或 php 来实际给他们更好的机会。选择随机行不会削减它。

在我的表中,我有两列,一列用于 ID,一列用于推荐 ID。该表通过将 ID 添加到推荐 ID 字段来跟踪谁推荐了谁,因此前几行数据如下所示:

name   id  referralid 
mark   15   20 
ted    20 
jim    22   20

所以'ted'应该有3次获胜的机会,因为他推荐了另外两个人。如何在 mysql 或 php 中执行此操作?

4

3 回答 3

1
SELECT people.name, people.id
FROM people
LEFT JOIN people referred_people ON referred_people.referralid = people.id
ORDER BY RAND()
LIMIT 1

假设你的桌子被称为people this selects

mark
ted
ted
jim

使用臭名昭著的 ORDER BY RAND() 构造随机排序(速度慢,但您没有要求最高性能),然后从该列表中选择一个结果。

于 2012-10-16T14:38:11.690 回答
0
select a.name,b.Odds
from (select referralid,count(1) Odds from    yourtable
group by referralid) b inner join yourtable a
on a.id=b.referralid
于 2012-10-16T14:36:15.097 回答
0

尝试这个::

为什么不获取一个随机数并获取该数字的行,然后该行中的referid 指向的 id 将获胜。

说有了这个给定的数据,说随机数如果生成 1 或 3。你会在这两行中都指出。

于 2012-10-16T14:36:28.057 回答