sql >> Databasteknik >  >> RDS >> Sqlserver

Max datum fungerar inte, alternativ?

Jag tror att det kanoniska svaret på denna fråga är följande

with AllData as
(
select ... from ...
where ...
)
select * from allData ad1
inner join 
(
    select pk1, pk2, pk<n>, max(MaxThing) MaxVal 
    from AllData
    group by pk1, pk2, pk<n>
) as ad2 
on (ad1.pk1=ad2.pk1 and ad1.pk2=ad2.pk2 and ad1.pk<n>=ad2.pk<n> 
and  ad1.MaxThing=ad2.MaxVal)

I ditt fall cst_recno är PK och inv_trx_date är MaxThing



  1. Skapa en användare för SQL Server 2008?

  2. Hur MOD() fungerar i MariaDB

  3. Hur man klona användare i Oracle

  4. Arbeta med SQL Server XML-datatypen