sql >> Base de Datos >  >> RDS >> Mysql

seleccione las dos últimas filas para cada usuario para obtener la diferencia de una columna (MySQL)

Tienes que mejorar en esto, pero así es básicamente como lo haces. puedes usar una autounión

SELECT uid, MAX(myvalue)-MIN(myvalue) AS diff FROM
    (SELECT a.* FROM tablename AS a
        LEFT JOIN tablename AS a2
            ON a.uid=a2.uid AND a.myvalue<=a2.myvalue
        GROUP BY uid,myvalue
        HAVING COUNT(*)<=2
    ) a
GROUP BY uid