我对后端的东西不太熟悉,经过一段时间的挣扎,我设法重新加入了桌子。
我已经设法将所有数据连接在一起,当我将它拉到前端时,它在我的 POSTMAN Json 中显示为这样。
[
{
"rank_ID": 1,"history_ID": 427,"score": 100,"username": "karame123","user_ID": 26,"quiz_ID": 6
},{
"rank_ID": 4,"history_ID": 463,"score": 60,"username": "testing_demo","user_ID": 22,{
"rank_ID": 11,"history_ID": 468,"score": 0,"quiz_ID": 1
},{
"rank_ID": 13,"history_ID": 469,"score": 50,"quiz_ID": 2
},{
"rank_ID": 15,"history_ID": 470,"quiz_ID": 1
}
]
这是我在 MySQL 中的查询来实现它:
SELECT ranklist.*,histories.history_ID,users.username,users.user_ID,quizs.quiz_ID
FROM ranklist
LEFT JOIN histories ON (histories.history_ID = ranklist.history_ID)
LEFT JOIN users ON (users.user_ID = histories.user_ID)
LEFT JOIN quizs ON (quizs.quiz_ID = histories.quiz_ID)
我还没有实现 WHERE quiz_ID = ?要在前端插入我想要的 quiz_ID,我仍在尝试弄清楚如何使用 POSTMAN 按我想要的方式过滤它
我只想过滤特定 quiz_ID 中每个 user_ID 的最高分。
比如在quiz_ID = 6时,可能有3个玩家做测验,他们可以做多次,所以我只想过滤掉他们最好的表现,也就是他们的最高分
这是我制作的排名列表:
history_ID 列内部与历史表相关,它与用户名和 quiz_ID 信息相关,但我刚刚像上面的 Json 一样将它们连接在一起
到这一步,我的大脑开始冻结,想不出任何情况和解决方案,即使我做了一些研究和搜索,例如(GROUP BY,Subquery之类的),我仍然想不通在我的场景中,我需要一些帮助,感谢阅读。 :)