问题描述
有一学生成绩表,表内容如下:学生表学生IDchar(6),学科IDvarchar(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
解决方案
解决方案二:
该回复于2011-04-06 16:31:11被版主删除
解决方案三:
该回复于2011-04-06 16:32:11被版主删除
解决方案四:
你们学校有多少学生啊?数据量在100w以下性能不是问题
解决方案五:
1.selectmax(score),stu_idfromstu_scoresgroupbystu_id;2.selectmin(score),stu_idfromstu_scoresgroupbystu_id;5.selectcount(*),floor(score/10)levelfromstu_scoresgroupbyfloor(score/10);3,4你写的是毛啊,连个公式都不能整理出来么?
时间: 2024-11-08 23:44:36