次の課題を解決するための賢明な、または少なくとも実用的なアイデアはありません。
私は 198 件の課題を抱えており、各課題を 10 人で解決し、Java 休止状態と永続化 API を使用してすべてを PostgreSQL データベースに書き込みました。これまでのところうまくいきました。
1 つの課題に対して 10 の異なる/明確な回答がある場合もありますが、他の課題では、2 つまたは 3 つの異なる/明確な回答しかありません (たとえば、「5 + 5 は何か」という課題では、8 人が「10」と答え、2 人が「10」と答えました)。 "25")
次に、SQL ステートメントを実行して、割り当てと個別の回答を含むリストを取得します。
SELECT DISTINCT question, answer FROM survey INNER JOIN results ON results.survey_id=results.id;
私が今得ているのは、多かれ少なかれ次のような結果リストです。
+---------+----------+--------+
| ID | Question | Answer |
+---------+----------+--------+
| 1 | Q1 | 20 |
| 2 | Q1 | 22 |
| 3 | Q1 | 25 |
| 4 | Q1 | 21 |
| 5 | Q1 | 22 |
| 6 | Q1 | 10 |
| 7 | Q1 | 20.5 |
| 8 | Q1 | 22.3 |
| 9 | Q1 | 28 |
| 10 | Q1 | 26 |
| 11 | Q2 | 52 |
| 12 | Q2 | 51 |
| 13 | Q3 | 78 |
| 14 | Q3 | 80 |
| ... | ... | ... |
| ... | ... | ... |
| ... | ... | ... |
+---------+---------+---------+
今、挑戦的な部分:
各課題 (Q1、Q2、Q3、...) から 4 つの異なる回答 (可能であれば) をランダムに選択し、人々が最良の回答に投票する必要がある新しい課題を作成します。
しかし、示されているように、割り当てに対する個別の回答が 4 つに満たないことがあります。この場合、利用可能なすべてのものを取得したいと考えています。
リストを反復処理して、この種の「選択」を実行するにはどうすればよいですか?
PS 回答をランダムに選択することはあまり重要ではありません。最初の 4 つの回答を選択しても問題ありません。
あなたの助けに感謝
よろしく