По результатам поиска кажется, что over () не работает с sql-compact.Итак, я попробовал концепцию самостоятельного соединения, как в здесь .Просто я изменил запрос, чтобы он правильно работал с дублирующимися значениями.Удалить знак равенства.Модифицированный запрос:
SELECT a1.Name, a1.Total, COUNT(a2.Total) Rank
FROM StMarks a1, StMarks a2
WHERE a1.Total < a2.Total or (a1.Total=a2.Total and a1.Name = a2.Name)
GROUP BY a1.Name, a1.Total
ORDER BY a1.Total DESC, a1.Name DESC;
Теперь он отлично работает.