我没有一个聪明或至少可行的想法如何解决以下挑战:
我有 198 个作业,让每个作业由 10 个人解决,然后我使用 Java hibernate & persistence API 在 PostgreSQL 数据库中编写所有内容。到目前为止效果很好。
有时我对一项作业确实有 10 个不同/不同的答案 - 对于其他作业,我只有 2 或 3 个不同/不同的答案(例如,对于“什么是 5 + 5”的作业,8 人告诉“10”,2 人告诉“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个答案也可以。
感谢你的帮助
问候