sql >> Database teknologi >  >> RDS >> Mysql

hente den sidst indsatte række fra hver bruger i databasen

Hvis du skal have den sidste, og derefter den forrige sidste, og så videre, skal du bruge en rangeringsfunktion:

SELECT *
FROM (
  SELECT
    Users.*,
    CASE WHEN @lst=User THEN @row:[email protected]+1 ELSE @row:=0 END row,
    @lst:=User
  FROM
    Users
  WHERE
    User IN ('ina','chris','john')
  ORDER BY
    User, Date_ins DESC
) s
WHERE
  row=0

row=0 får den sidste dato, row=1 den forrige sidste, og så videre...

Se venligst violin her .



  1. Mysql - hvor klausul er langsommere end fuld scanning

  2. Hvordan fjerner man kun kontinuerlige dubletter, men ikke alle dubletter i en udvalgt forespørgsel (MySQL)?

  3. Prøvestørrelse og varigheden af ​​OPDATERINGSSTATISTIK:Betyder det noget?

  4. Konfigurer opstartsmiljø i SQL Server Management Studio (SSMS) - SQL Server / TSQL vejledning del 7