sql >> Databáze >  >> RDS >> Mysql

Získejte nejnovější řádek pro dané ID

Použijte souhrnnou hodnotu MAX(signin) seskupeno podle id. Zobrazí se seznam nejnovějších signin pro každé id .

SELECT 
 id, 
 MAX(signin) AS most_recent_signin
FROM tbl
GROUP BY id

Chcete-li získat celý jeden záznam, proveďte INNER JOIN proti dílčímu dotazu, který vrací pouze MAX(signin) za ID.

SELECT 
  tbl.id,
  signin,
  signout
FROM tbl
  INNER JOIN (
    SELECT id, MAX(signin) AS maxsign FROM tbl GROUP BY id
  ) ms ON tbl.id = ms.id AND signin = maxsign
WHERE tbl.id=1


  1. Databázový model pro platformu MOOC

  2. Používání tabulek JavaFX k organizaci dat

  3. Proč SQL Server používá index scan místo index search, když klauzule WHERE obsahuje parametrizované hodnoty

  4. Chyba při odesílání paketu QUERY