MySQL INNER JOIN selecciona solo una fila de la segunda tabla

tengo unusers mesa y unpayments Para cada usuario, aquellos de los cuales tienen pagos, pueden tener múltiples pagos asociados en elpayments mesa. Me gustaría seleccionar todos los usuarios que tienen pagos, pero solo seleccionar su último pago. Estoy probando este SQL pero nunca antes he intentado sentencias de SQL anidadas, así que quiero saber qué estoy haciendo mal. Aprecia la ayuda

SELECT u.* 
FROM users AS u
    INNER JOIN (
        SELECT p.*
        FROM payments AS p
        ORDER BY date DESC
        LIMIT 1
    )
    ON p.user_id = u.id
WHERE u.package = 1

Respuestas a la pregunta(8)

Su respuesta a la pregunta