sql >> Databasteknik >  >> RDS >> Mysql

välj de två senaste raderna för varje användare för att få skillnaden för en kolumn (MySQL)

Du måste förbättra dig på det här, men det är i princip hur du gör det här. du kan använda en självanslutning

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



  1. Hur modellerar man en MySQL-struktur för att hantera autentisering? Med användarinformation separerad

  2. SQL där ALLA kolumn är lika med ett värde

  3. Vilka är några sätt att komma åt Microsoft SQL Server från Linux?

  4. Uppdatera antal kolumn från data i en annan tabell