Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql-Beitritt basierend auf max(timestamp)

Dieses Problem ist ziemlich häufig. Sie brauchen eine Unterabfrage, um den maximalen Zeitstempel und die Ratentyp-ID (die die Grundlage für die Gruppierung ist) herauszuwerfen und dann alles andere aus einem inneren Join dieser Unterabfragezeilen und alles andere auszuwählen.

Für MySQL:

SELECT ratecode, rate, id, ratetypeid, date, entrytimestamp 

FROM ratedefinitions, 
(SELECT ratetypeid, MAX(entrytimestamp) AS max_timestamp FROM Rates 
GROUP BY ratetypeid) AS inner_table

WHERE

inner_table.ratetypeid = ratetypeid
AND innertable.max_timestamp = timestamp