sql查询出最大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
select sum(成绩)
from tab a
where not exists (
select 1
from tab
where 姓名= a.姓名
and 次数> a.次数
)
;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)