求一个查询出最大ID的记录进行累加的语句
一张表如下:
姓名 次数 成绩
张三 1 80
李四 1 60
王九 1 90
张三 2 55
张三 3 66
李四 2 45
王九 2 50
想实现每个人最大次数成绩的累加,就是张三的第三次66 + 李四的第二次45 + 王九的第二次50
谢谢
[解决办法]
;with f as
(
select * from tb t where not exists(select 1 from tb where 姓名=t.姓名 and 次数>t.次数)
)
select sum(成绩) from f
;WITH a AS (
SELECT code+MAX(cishu)col1 FROM test
GROUP BY code
)SELECT SUM(chengji) FROM test WHERE code+cishu IN (SELECT *FROM a)
优化下:
SELECT SUM(成绩) FROM TB t WHERE not exists(select 1 from tb where 姓名=t.姓名 and 次数>t.次数)