(5) Если на самом деле не по порядку, то можешь создать виртуальную или временную таблицу в которой будет точно отсортировано по датам, и использовать ее в JOIN, немного изменив запрос. Я тебе дал идею решения, ты уже сам можешь приспособить ее к своим таблицам.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.