sql >> Databáze >  >> RDS >> Mysql

Získejte poslední odlišnou sadu záznamů

To by vám mělo fungovat.

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

Pokud je id AUTO_INCREMENT, není třeba se starat o datum a čas, jehož výpočet je mnohem dražší, protože nejnovější datum a čas bude mít také nejvyšší id.

Aktualizace: Z hlediska výkonu se ujistěte, že id a code sloupce jsou indexovány při práci s velkým počtem záznamů. Pokud id je primární klíč, je vestavěný, ale možná budete muset přidat neshlukovaný index pokrývající code a id .



  1. Jak nainstalovat dbWatch pro sledování výkonu MySQL v Linuxu

  2. Jaký je nejlepší vyhledávací algoritmus pro PHP a MYSQL?

  3. Jak zvýšit výkon pro hromadné INSERTy do propojených tabulek ODBC v Accessu?

  4. Použití rekurze k vytvoření navigace