我正在使用 SQL(H2 数据库引擎版本 1.4.181)并试图总结学生的前 5 分。RESULTS 表包括 studentID、eventID 和积分。每个学生只能参加一次活动。以下子查询是我尝试为 id 为 5 的学生执行此操作的方法。
SELECT SUM(points) FROM RESULTS
WHERE eventID IN
(SELECT TOP 5 eventID FROM RESULTS
WHERE studentID = 5 ORDER BY points DESC)
AND studentID = 5;
但是,此查询返回 null。我发现,如果ORDER BY points DESC
删除了 ,那么查询的其余部分就可以工作。有谁知道如何合并 ORDER BY,或者为什么它不起作用?
谢谢