sql >> Databasteknik >  >> RDS >> Mysql

GRUPPERA MED att ha MAX datum

Att placera underfrågan i WHERE-satsen och begränsa den till n.control_number innebär att underfrågan körs många gånger. Detta kallas en korrelerad underfråga , och det är ofta en prestationsdödare.

Det är bättre att köra underfrågan en gång, i FROM-satsen, för att få maxdatum per kontrollnummer.

SELECT n.* 
FROM tblpm n 
INNER JOIN (
  SELECT control_number, MAX(date_updated) AS date_updated
  FROM tblpm GROUP BY control_number
) AS max USING (control_number, date_updated);


  1. MySQL:Kontrollera begränsningen med Date

  2. Hur får man tillgång till Oracle-databasen över nätverket?

  3. Kan inte använda ett CONTAINS- eller FREETEXT-predikat i tabell eller indexerad vy eftersom det inte är fulltextindexerat

  4. Skillnaden mellan lokala och globala tillfälliga tabeller i SQL Server