c# - 彩票方式

扫码查看

我有大约1百万条记录,女巫在24天(每天1个)中回答问题。

我要完成的工作是全天收集所有正确答案,然后进行抽签选择,例如,如果订户正确回答了所有24个答案,那么与被正确回答的订户相比,他/她被选中的可能性更高回答。

我正在使用Linq-to-Sql,因为我更愿意使用它而不是纯T-SQL,即使这是要移植到T-SQL,但是LinqPad可以帮助我,所以这就是我到目前为止:

// all correct answers id's
var correct = from a in JK_ChallengeAnswers
              where a.correct
              select a.challenge_answer_id;

// all correct answers
var query = from cr in JK_ChallengeResponses
            where correct.Contains(cr.challenge_answer_id)
            select cr;

query.Count().Dump(); // 978144

var random = new Random();
int pos = random.Next(query.Count()); // random select

query.Skip(pos).Take(1).Dump(); // get one...


这是直截了当的……而且是线性的,没有“票务”方法,这里的人回答了一个问题,即回答了全部24个问题的确切比例。

我将如何尝试彩票方法,下一步应该怎么做?

无需显示代码,我可以得到这些,只有步骤可以了,因为我不知道如何得到它们。

最佳答案

创建一个视图,其中包含正确回答的所有人员的姓名。然后,您可以使用随机数生成器来选择其ID与随机数匹配的人。如果您需要更多帮助,请问我。

编辑

对我来说,彩票方法已经为您服务,因为每个人每天都可以猜测24天的答案。这意味着他们在您的表中有24个答案,外键指向正确的答案。通过这样做,如果我将24个条目提交到数据库中,则我更有机会获得正确答案。这将使我的方法起作用。

让我知道您是否对此有不同的想法。

关于c# - 彩票方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14030529/

10-11 19:29
查看更多