select * from (
select tb.*,row_number() over(partition by name order by score desc) id from tb) t
where t.id=1;

解决方案 »

  1.   

    select name,max(score) score from tb group by name order by score desc;
      

  2.   

    或者
    Select * From (
    select tb.*,rank() over(partition by name order by score desc) id from tb Where ljjc>0) t
    where t.id=1;
      

  3.   

    多了个where条件.我作测试用的.去掉就行了.
      

  4.   

    select name,max(score) score from tb group by name order by score desc;
    这才是求最大值的正确方法。
    楼主需要通过过滤的方式求最大值是不合理的。