Я обычно стараюсь держаться подальше от подзапросов, но если вы объедините объединение в один, вы можете легко заказать по времени:
SELECT id, name, time
FROM
(
SELECT book_id id, book_name name, book_time time FROM books
UNION
SELECT movie_id id, movie_name name, movie_time time FROM movies
) booksandmovies
ORDER BY time DESC;