IE будет кэшировать URL-адреса, чтобы ускорить загрузку, но если вы, скажем, опросили сервер с интервалами, пытаясь получить новую информацию, IE будет кэшировать этот URL-адрес и, скорее всего, вернет тот же набор данных, который вы всегда .
Независимо от того, как вы в конечном итоге выполняете свой запрос GET - ванильный JavaScript, прототип, jQuery и т. д. - убедитесь, что вы создали механизм для борьбы с кешированием. Чтобы бороться с этим, добавьте уникальный токен в конец URL-адреса, который вы будете бить. Это можно сделать с помощью:
var sURL = '/your/url.html?' + (new Date()).getTime();
Это добавит уникальную временную метку в конец URL-адреса и предотвратит любое кэширование.
Хорошо, я нашел это. Можно использовать следующий запрос:
SELECT Courses.CourseId, Count(Users.UserId) AS UserCount FROM Users
INNER JOIN User_Course_Links UCL on Users.UserId = UCL.UserId
INNER JOIN Courses Courses on UCL.CourseId = Courses.CourseId
GROUP BY Courses.CourseId
Что приводит к
+----------+-----------+
| CourseId | UserCount |
+----------+-----------+
| Course 1 | 20 |
| Course 2 | 5 |
| Course 3 | 12 |
| ... | ... |
В качестве альтернативы можно использовать этот запрос:
SELECT Courses.CourseId, Count(Users.UserId) AS UserCount FROM Courses
LEFT OUTER JOIN User_Course_Links UCL on Courses.CourseId = UCL.CourseId
LEFT OUTER JOIN Users on UCL.UserId = Users.UserId
GROUP BY Courses.CourseId
Чтобы также включить курсы с нулевыми пользователями