ÚNETE, GRUPO POR, ORDEN POR

El primer problema que tuve con la siguiente consulta fue quegroup by cláusula se realizó antes de laorder by:

lossaved.recipe_id columna es un número entero generado porUNIX_TIMESTAMP()

SELECT
    saved.recipe_id,
    saved.`date`,
    user.user_id
FROM saved
    JOIN user
        ON user.id = saved.user_id
GROUP BY saved.recipe_id
ORDER BY saved.`date` DESC

Así que probé todo tipo de soluciones diferentes posibles con subconsultas y otras bs. Al final terminé probando algunas sub consultas diferentes en eljoin cláusula que me obligó a cambiar el orden de la tabla de lafrom cláusula a lajoin cláusula. Decidí probar lo siguiente:

SELECT
    saved.recipe_id,
    saved.`date`,
    user.user_id
FROM user
    JOIN saved
        ON user.id = saved.user_id
GROUP BY saved.recipe_id
ORDER BY saved.`date` DESC

Por alguna razón esto parece ordenarse correctamente,pero por qué?
¿Cómo puede este cambio hacer que mi consulta se clasifique más correctamente que antes?
¿De verdad? ¿O simplemente sucede que lo hace para los casos de prueba a los que lo presento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta