Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Максималната дата няма да работи, алтернатива?

Мисля, че каноничният отговор на този въпрос е следният

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)

Във вашия случай cst_recno е PK и inv_trx_date е MaxThing



No
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2005 Изпълнете съхранена процедура чрез SSIS, като използвате GETDATE() като параметър

  2. SQL Server разделя CSV на няколко реда

  3. Динамична SQL грешка при преобразуване на nvarchar в int

  4. Търсенето на пълен текст е инсталирано или не

  5. Йерархични данни в Linq – опции и производителност