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

Hent den næstsidste post for hver bruger fra databasen

Du kunne prøve det, det er lidt ordrigt, men det virker:

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. Node.js MYSQL for at detektere INSERT/UPDATE fuldstændigheden af ​​en forespørgsel?

  2. SQL-snydeark:Hvad er SQL, SQL-kommandoer og SQL-injektion

  3. Se SQL Server Agent-jobhistorik med Azure Data Studio

  4. MariaDB FLOOR() vs TRUNCATE()