私は約 100 万件のレコードを持っています。魔女は 24 日間 (1 日 1 回) 質問に答えるためのものです。
私が達成しようとしているのは、1 日を通してすべての正しい答えを収集し、宝くじの選択を行うことです。たとえば、購読者が 24 の答えすべてに正しく答えた場合、1 つしか正しく答えなかった購読者よりも選択される可能性が高くなります。答えてください。
これは純粋なT-SQLではなく、より快適に使用できるようになったため、Linq-to-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...
これは簡単です...そしてそれは直線的で、「チケット」アプローチはありません。ここでは、1つの質問に答えた人が、24すべてに答えた人の勝率の正確なパーセンテージとして...
宝くじのアプローチを試すにはどうすればよいですか?次のステップは何ですか?
コードを表示する必要はありません。手順だけを取得できます。何らかの方法で取得していないためです。