sql >> Database >  >> RDS >> Mysql

Laatste afzonderlijke set records ophalen

Dit zou voor jou moeten werken.

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

Als id AUTO_INCREMENT is, hoeft u zich geen zorgen te maken over de datetime, die veel duurder is om te berekenen, aangezien de meest recente datetime ook de hoogste id heeft.

Bijwerken: Zorg er vanuit prestatieoogpunt voor dat de id en code kolommen worden geïndexeerd bij het omgaan met een groot aantal records. Als id is de primaire sleutel, deze is ingebouwd, maar u moet mogelijk een niet-geclusterde index toevoegen die code dekt en id .



  1. MySQL-transactie:SELECT + INSERT

  2. Hoe SUBSTRING() werkt in MariaDB

  3. ExecuteNonQuery voor SELECT sql-instructie die geen rijen retourneert

  4. Vervang een woord in BLOB-tekst door MySQL