sql >> Databasteknik >  >> RDS >> Mysql

Få den sista distinkta uppsättningen rekord

Detta borde fungera för dig.

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

Om ID är AUTO_INCREMENT behöver du inte oroa dig för datetime som är mycket dyrare att beräkna, eftersom den senaste datetime också kommer att ha det högsta ID:t.

Uppdatering: Ur prestandasynpunkt, se till att id och code kolumner indexeras när man hanterar ett stort antal poster. Om id är den primära nyckeln, denna är inbyggd, men du kan behöva lägga till ett icke-klustrat index som täcker code och id .



  1. Viloläge skicka överflödiga frågor till databasen

  2. Behöver ett tips om enkel MySQL db-design

  3. HikariCP:Vilka tidsgränser på databasnivå bör övervägas för att ställa in maxLifetime för Oracle 11g

  4. Bästa sättet att testa om en rad finns i en MySQL-tabell