sql >> Database >  >> RDS >> Mysql

Mysql-join op basis van max (tijdstempel)

Dit probleem komt vrij vaak voor. Je hebt een subquery nodig om de max timestamp en de ratetypeid (die de basis is voor groepering) weg te gooien en vervolgens al het andere te selecteren uit een inner join van deze subquery-rijen en al het andere.

Voor 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


  1. Is het mogelijk om een ​​op functies gebaseerde index in MySQL te hebben?

  2. gebruik kolomwaarde als kolomnaam mysql

  3. Gegevens exporteren in SQL Server als INSERT INTO

  4. Hoe voeg ik een PostgreSQL-gegevensbron toe aan WildFly 9.0?