有一学生成绩表,表内容如下:
   学生表
      学生ID    char(6),
      学科ID    varchar(20),
      学生成绩  number(4,1)想做成一箱线图,但要根据学科不同,取得以下数据
     1,学生的最高成绩
     2,学生的最低成绩
     3,学生的四分之一值   例:成绩是1,2,3,4时,四分之一值是2.成绩是1,2,8,9时,四分之一值是2.
     4,学生的四分之三值   同上.最大值与最小值之间离四分之三最近的值,上下相同时,取下值.
     5,取得每10分间距内成绩的学生人数.例:0~10的人数,10~20间的人数.如何使用最好的性能取得以上数据,可以加入辅助表或视图.
数据初步确认有50万到100万之间.刚开始想一次取得全部数据,然后在JAVA中计算,但感到数据量太大.
后来想加入辅助表进行关联查询,但觉得查询次数太多,性能可能不好.有哪位高人能以最好的性能解决这个问题,最好给出SQL语句.
数据库是ORACLE11G,JAVA1.5