查询sql server 2008中的上次费用日期

时间:2016-04-12 06:55:56

标签: sql sql-server-2008

我是sql server.i的初学者,有两个表,TestshriMaster和Testshrifees。我需要一条记录,其中包含学生最后付费的详细信息。我写了一个查询,但有没有简单的方法来做到这一点。表格中的用户是“nixon”,“shri”,“nixon”。

enter image description here

1 个答案:

答案 0 :(得分:1)

SQL Server支持标准SQL的窗口化聚合函数,在您需要的情况下需要ROW_NUMBER

select ... 
from TestshriMaster as sm
 (
   select *, 
      ROW_NUMBER()                         -- apply a ranking 
      OVER (PARTITION BY studentid         -- for each student
            ORDER BY feesdate DESC ) AS rn -- based on descending dates
   from Testshrifees
 ) as sf
on sm.studentid = sf.stundentid
where sf.rn = 1                            -- return only the latest row