sql >> Databáze >  >> RDS >> Sqlserver

Maximální datum nebude fungovat, alternativa?

Myslím, že kanonická odpověď na tuto otázku je následující

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)

Ve vašem případě cst_recno je PK a inv_trx_date je MaxThing



  1. Jak najít nejbližší polohu pomocí zeměpisné šířky a délky z databáze SQL?

  2. GROUP BY vrátí první záznam

  3. Jaký typ bych měl ukládat IP adresy pro MySQL?

  4. Odebrání databázového poštovního účtu z profilu (SSMS)