Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir le dernier ensemble distinct d'enregistrements

Cela devrait fonctionner pour vous.

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

Si l'id est AUTO_INCREMENT, il n'y a pas besoin de s'inquiéter de la date-heure qui est beaucoup plus coûteuse à calculer, car la date-heure la plus récente aura également l'id le plus élevé.

Mise à jour : Du point de vue des performances, assurez-vous que le id et code les colonnes sont indexées lorsqu'elles traitent un grand nombre d'enregistrements. Si id est la clé primaire, elle est intégrée, mais vous devrez peut-être ajouter un index non clusterisé couvrant code et id .