sql >> Database teknologi >  >> RDS >> Sqlserver

SQL-serveren skal kun vælge forskellige rækker med den nyeste værdi

Én vej

select t1.* from (select ForeignKeyId,AttributeName, max(Created) AS MaxCreated
from  YourTable
group by ForeignKeyId,AttributeName) t2
join YourTable t1 on t2.ForeignKeyId = t1.ForeignKeyId
and t2.AttributeName = t1.AttributeName
and t2.MaxCreated = t1.Created

Se også Inkludering af en aggregeret kolonnes relaterede værdier for 5 forskellige måder at udføre denne form for forespørgsel på



  1. Scanninger af allokeringsordre

  2. Hvorfor foretrækker vi altid at bruge parametre i SQL-sætninger?

  3. Git-tip og bedste praksis for begyndere

  4. Kan jeg kopiere :OLD og :NEW pseudo-records i/til en Oracle-lagret procedure?