Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 Selecting the last two rows

Author  Topic 

tkotey
Yak Posting Veteran

75 Posts

Posted - 2009-09-24 : 06:17:55
I would like to know the SQL statements for selecting the last two rows of a particular user (UserID) and summing it up by the Sums column. See data below.
UserID	UserPaymentBalance	Amount	Sums	CreateDate	LastPaidDate	BillDate
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Nov-08
OduetseTautona -4189.9 1000 200.0000076 14-Aug-08 15-Jun-09 15-Sep-08
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Dec-08
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 16-Jan-09
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Feb-09
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Mar-09
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Apr-09
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-May-09
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Jun-09
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Jul-09
OduetseTautona -4189.9 1000 498.9900055 14-Aug-08 15-Jun-09 15-Sep-09



E.g. When I sum the Sums column using the last two BillDate columns I should get 997.980011.

sanoj_av
Posting Yak Master

118 Posts

Posted - 2009-09-24 : 06:26:54
Select SUM(Sums) FROM
(Select top 2 Sums from Table Where UserId='OduetseTautona' order by BillDate Desc) A
Go to Top of Page

bklr
Master Smack Fu Yak Hacker

1693 Posts

Posted - 2009-09-24 : 06:50:42
select sum([amount sums]) as sums
from (select row_number()over(partition by userid order by billdate desc) as rid, * from tablename) s
where rid <= 2
Go to Top of Page
   

- Advertisement -