输出时使用sql
select * from '数据库' order by '分数';

解决方案 »

  1.   

    楼上的:
    按照你的做法,进行输入。输出时,不还是要order by '名次'吗?
    所以赞成楼上的楼上。
      

  2.   

    select * from '数据库' order by '分数' desc;
    分数高的排在最上面
    取出来之后把记数集存为一个数组
    String[] str=null;
    int i=0;
    while(rs.next){
        str[i]=rs.getString("你的分数字段");
        i++;
    }
    然后在插入你的分类update
    for(int j=1;j<=str.length;j++){
       String sql="update 数据库 set 名次='"+j+"' where 分数='"+str[j-1]+"'"
       执行方法
    }
      

  3.   

    同意楼上的做法~~~这样就自动排名次,并将名次存入数据库~~这样就省去了人工排名次的麻烦~但有个小小的问题~分数相同的同学,名次会不一样哦~所以,select语句最好这样写select * from '数据库' group by '分数' order by '分数' desc;
      

  4.   

    如果在插入的时候就生成名次,效率太低,每次都要进行一次遍历,我建议
    建立一个视图,当要使用名次排名的时候,进行查询
    @ level int;
    create view(***********) 
    as select *,(level++)
    from table;