userid groupA groupB myLevel jumsu nDate
hippo 1 1 1 80 2014-03-24
hippo 1 1 2 50 2014-03-24
덕구 1 1 1 40 2014-03-24
이양구 1 1 1 60 2014-03-24
덕구 1 1 2 100 2014-03-22
덕구 1 1 3 87 2014-03-30
hippo 1 1 3 56 2014-03-25
이렇게 표시할려고합니다
각각의 아이디의 마지막 level과 점수를 표시할려고 합니다
결과
userid myLevel jumsu
===============================
덕구 3 87
hippo 3 56
이양구 1 60
Comment 2
-
처리짱
2014.03.20 12:40
-
항해자™
2014.03.24 10:35
create table #tmp(userid varchar(10) not null,groupA int not null,groupB int not null,myLevel int not null,jumsu int not null,nDate smalldatetime not null)insert into #tmpvalues('hippo','1','1','1','80','2014-03-24'),('hippo','1','1','2','50','2014-03-24'),('덕구','1','1','1','40','2014-03-24'),('이양구','1','1','1','60','2014-03-24'),('덕구','1','1','2','100','2014-03-22'),('덕구','1','1','3','87','2014-03-30'),('hippo','1','1','3','56','2014-03-25');with cte as (select row_number() over(partition by userid order by nDate desc) as rowNo, userid, jumsufrom #tmp)select a.userid, sum(a.myLevel), max(b.jumsu)from #tmp as ainner joincte as bon b.userid = a.useridwhere b.rowNo = 1group by a.userid
group by userid 로 MAX(nData)를 구한 값을 다시 테이블과 조인을 하면 됩니다.