gpt4 book ai didi

mysql - 如何获得表的最后 10 个数据的排名

转载 作者:行者123 更新时间:2023-11-29 00:25:41 26 4
gpt4 key购买 nike

我有一张 table 。表结构是这样的

ID, UserId, Exam Id, Score, Timing, Date1,  1,      2,       4,     3.5,    2013-03-052,  2,      2,       3,     2.5,    2013-03-053,  3,      3,       5,     1.5,    2013-03-054,  4,      2,       4,     3.5,    2013-03-055,  2,      4,       1,     4.5,    2013-03-056,  3,      2,       2,     5.5,    2013-03-057,  1,      1,       0,     2.5,    2013-03-058,  5,      3,       3,     1.5,    2013-03-059,  2,      2,       2,     3.5,    2013-03-0510, 1,      2,       5,     5.5,    2013-03-0511, 4,      1,       4,     4.5,    2013-03-0512, 2,      2,       2,     2.5,    2013-03-05

现在我想显示最近 5 次考试的成绩以及那次考试的排名。

假设用户 2 参加了考试 ID 为 2 的最后一门考试。那么在这种情况下,用户 2 的位置将仅针对该考试显示。

同时,对于用户 4 的 Id-11,它将显示检查 1 的位置。

其余 3 个 ID 也一样 (10,9,8),我只需要 1 个查询就可以得到所有信息。

排名标准是高分、低时机和低用户 ID。

任何人都请帮助我。

最佳答案

认为您希望使用唯一的 UserId 提取最近的五次考试,然后按某些标准对它们进行排序?如果是这种情况,您可以使用子查询来获取它。我将进一步整理给您,但这是我认为您需要的开始和 fiddle :http://sqlfiddle.com/#!2/8eecd/8

 SELECT * FROM TEST where ID IN
(SELECT max(id)
FROM TEST
GROUP BY UserId)
ORDER BY id DESC
LIMIT 5

如果您在这里遇到困难,请提供您期望的输出。

关于mysql - 如何获得表的最后 10 个数据的排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19037946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com