sql >> Databasteknik >  >> RDS >> Mysql

Hämta den näst sista posten för varje användare från databasen

Du kan prova det, det är lite utförligt men det fungerar:

SELECT
  name,
  max(Updated_on) as Updated_on,
  STATUS
FROM userstatus a
  WHERE (name, Updated_on) not in
  (select name, max(Updated_on) FROM userstatus group by name)
group by name, status
HAVING UPDATED_ON =
  (SELECT MAX(UPDATED_ON) FROM userstatus b where a.name = b.name
   and (b.name, b.Updated_on) not in
  (select name, max(Updated_on) FROM userstatus group by name)
  group by name);

Sqlfiddle



  1. tar bara tag i första raden i en mysql-fråga

  2. Installera luaSQL på Ubuntu

  3. Interpolera saknade värden i en MySQL-tabell

  4. 2 sätt att sammanfoga en sträng och ett nummer i Oracle