各路高手,小菜鸟要实现这样一各功能,就是,
将所有组别的A项目在一定时间内获得的总分数进行排名,同时也对在该一定时间内B项目或得得总分数进行排名
时间在页面上进行选择,查询后页面要如下组别   A项目的总分数, A项目总分数排名,B 项目总分数   B 项目总分数排名以上是5个列,
其中,名字,A课程的分数,B 课程分数
这三个列可以直接从数据库中用现在的问题是,要怎样分别对 A项目,B 项目分数进行排序?
就是最后得结果要类试这样显示:
组别   A项目的总分数, A项目总分数排名,B 项目总分数   B 项目总分数排名
1        54                2             23                 4
2        47                3             52                 2
3        57                1             49                 3
4        23                5             10                 5
5        33                4             69                 1?
请个路高手侠义相助,小菜鸟不剩感激~~~

解决方案 »

  1.   

    这就是很简单的排序问题吧,排两遍就行了,先对A排序,再对B排序,然后显示结果应该就OK了。至于你说的“同一时间”,我的理解是,只要取得排序前的源数据是在一个很短的时间内,那么你排序的时候,无论是先A后B,还是先B后A,都不会有什么问题吧。
      

  2.   

    对A和对B排序肯定还是有个时间先后的
    一个CPU在一个时刻只能做一件事,除非双核心CPU
      

  3.   

    我的意思是把A和B的相关数据复制到2个新的数组当中,然后再排序。这就相当于取得了源数据的镜像。之后的排序只是对这个镜像进行排序,不存在任何实时问题,所以先排A还是先排B都无所谓了。当然,排序是需要一点时间的,在这个时间内,源数据会发生一点点变化,可能排出的结果和事实略微有差距,但我认为这个差距是可以忽略的。
      

  4.   

    每一组当作一个bean,有a总分a排名b总分b排名几个属性.
    然后这些数据就组成一个bean数组或者bean对应的list,
    然后实现Comparator接口,在这个接口的public int compare(Object o1, Object o2)方法里面进行判断
    o1和o2都是这个bean类,可以进行bean.getA bean.getB进行比较然后返回0或者1,-1
    这样用Arrays.sort(beans, 你实现Comparator接口的类),就可以得到排序后的数组
      

  5.   

    各位~,我现在用数组来实现了这个排序,利用a[i]来存储组别,b[i]存储 A项目的总分数,c[i]存储A项目总分数排名,d[i]存储B 项目总分数  ,e[i]存储 B 项目总分数排名
    排序后由于记录条数非常多,现求一个分页程序,,来将这些记录分页显示。。
    请大家不息赐教呀`....
      

  6.   

    针对两个关键字,一次进行两次排序.
    呵呵. 
    需要额外的存储空间.
    存放排序结果.
    可以考虑
    Acylas(Acylas) ( )