如何获取每个项目的最高得分(只取一个)及对应的项目、姓名、籍贯、生日?数据如下:姓名 籍贯 生日 项目 得分
程菲 湖北 1988-05-29 跳马 10.0
江钰源 广西 1991-11-01 高低杠 9.9
何可欣 北京 1982-06-30 高低杠 9.8
李珊珊 湖北 1992-02-22 平衡木 9.9
杨伊琳 广东 1992-08-26 高低杠 9.8
邓琳琳 安徽 1992-04-21 平衡木 9.9要求输出结果如下:姓名 籍贯 生日 项目 得分
程菲 湖北 1988-05-29 跳马 10.0
江钰源 广西 1991-11-01 高低杠 9.9
邓琳琳 安徽 1992-04-21 平衡木 9.9或者输出结果如下亦可:姓名 籍贯 生日 项目 得分
程菲 湖北 1988-05-29 跳马 10.0
江钰源 广西 1991-11-01 高低杠 9.9
李珊珊 湖北 1992-02-22 平衡木 9.9请问如何用一个SQL获得上述结果?
程菲 湖北 1988-05-29 跳马 10.0
江钰源 广西 1991-11-01 高低杠 9.9
何可欣 北京 1982-06-30 高低杠 9.8
李珊珊 湖北 1992-02-22 平衡木 9.9
杨伊琳 广东 1992-08-26 高低杠 9.8
邓琳琳 安徽 1992-04-21 平衡木 9.9要求输出结果如下:姓名 籍贯 生日 项目 得分
程菲 湖北 1988-05-29 跳马 10.0
江钰源 广西 1991-11-01 高低杠 9.9
邓琳琳 安徽 1992-04-21 平衡木 9.9或者输出结果如下亦可:姓名 籍贯 生日 项目 得分
程菲 湖北 1988-05-29 跳马 10.0
江钰源 广西 1991-11-01 高低杠 9.9
李珊珊 湖北 1992-02-22 平衡木 9.9请问如何用一个SQL获得上述结果?
from
(
select 姓名,籍贯,生日,项目,得分,row_number() over(partition by 项目 order by 得分 desc) rn
from table1
)
where rn=1;