我正在使用SQL(H2数据库引擎版本1.4.181),并试图总结学生拥有的前5个点。 RESULTS表包含studentID,eventID和点。每个学生只能参加一次活动。以下子查询是我正在尝试为具有5且id为5的学生执行此操作。IN子查询中的SQL ORDER BY返回无结果
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,或者为什么它不起作用?
感谢
你使用什么数据库系统,它是什么版本? – 2014-10-08 09:29:48
“点”列是否有空值? – 2014-10-08 11:29:05