一个维数相关的问题
现在有一个问题要请教一下高手。比如说我现在有下面这么一个模型,总的是五维的情况。分努力程度,个人兴趣,学校方法,英语基础还有通过情况。
学生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 个人努力程度= ' ");