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

Ottieni l'ultimo set distinto di record

Questo dovrebbe funzionare per te.

 SELECT * 
 FROM [tableName] 
 WHERE id IN (SELECT MAX(id) FROM [tableName] GROUP BY code)

Se l'id è AUTO_INCREMENT, non è necessario preoccuparsi della data/ora, che è molto più costosa da calcolare, poiché anche la data/ora più recente avrà l'ID più alto.

Aggiornamento: Dal punto di vista delle prestazioni, assicurati che l'id e code le colonne vengono indicizzate quando si tratta di un numero elevato di record. Se id è la chiave primaria, è integrata, ma potrebbe essere necessario aggiungere un indice non in cluster che copra code e id .