日期:2014-05-20  浏览次数:20863 次

一个维数相关的问题
现在有一个问题要请教一下高手。比如说我现在有下面这么一个模型,总的是五维的情况。分努力程度,个人兴趣,学校方法,英语基础还有通过情况。
                          学生Aijk   ,       个人努力程度c1,vijk1                                   R1
                                                      个人兴趣c2,vijk2   R2
Rijk     =                                         学习方法c3,vijk3                   =                       R3
                                                      英语基础c4,vijk4                                           R4
                                                      通过情况c5,vijk5   R5

其中,各维情况又分下面括号里面的情况。
            V1(c1)={不努力,一般,很努力}
            V2(c2)={没兴趣,一般,非常感兴趣}
            V3(c3)={没效率,一般,非常有效率}
            V4(c4)={差,中,良,优}
            V5(c5)={通过,未通过}

所以,我设计的数据库的表是这样子的:
      编号       个人努力程度         个人兴趣         学习方法       英语基础         通过情况
          1                   不努力                 一般               一般                   良               未通过
          2                   很努力         非常感兴趣           一般                   良                   通过
。。。。。。
      下面的数据和上面的差不多。那我怎么统计里面的数据情况。
      比如说我分一维的情况,就有3+3+3+4=13种
      二维的就有:。。。
      三维。。。。
      四维就是:3×3×3×4=108种。。。
并且这些分维的情况都要从数据库里面读出统计的数量。
    比如说我们找一维,个人努力程度是“不努力”的,那就查询表里面有多少个是个人努力程度是“不努力”,返回数量。
      二维的话,我们找个人兴趣是“一般”,学习方法是“良”,那我们也上去查找得出数量。
    。。。。。。
      后面三维、四维的情况类似。。。但是,就是全部情况都要考虑,并且要分维数考虑的。

不知道有哪位高手能提供一下好的方法啊,跪谢了。


------解决方案--------------------
你可能需要从外面传进来的变量进行查询 那这样下面5个String参数分别表明传进来的对应5个字段的5个查询条件
public int countResult(String s1,String s2,String s3,String s4,String s5){
......
......
StringBuffer sql = new StringBuffer( "SELECT COUNT(*) FROM XXXXXX WHERE 1=1 ");
if((!s1.equals( " "))||s1!=null){ //如果第一个查询条件不为空那就添加查询条件 下同
sql.append( " AND 个人努力程度= ' ");