数据库中某字段中,第i题出现的次数,该如何处理

数据库中某字段中,第i题出现的次数
数据库:test
包含的数据表:test
name    score     timu
01        20      1 2 3 4 5 6 7 8 9 10 11 12
02        10      1 3 5 6 8 10 12
03        30      2 4 7 9 10
04        40      3 5 
想通过VBA判断出,此表中timu字段中包含从第1题到第12题 各题出现的次数。
即:在timu字段中,第1题出现:2次
                   第2题出现:2次
                   第3题出现:3次……
该如何设计代码?
我用instr()函数,结果把 11 和10和12 中的1也统计出来了……
------解决方案--------------------
首先,这个数据表结构有问题。关系型数据库应该是完全线性的。

具体到你这个表,应该如下使用:
name    score     timu
01        20      1
01        20      2
01        20      3
......
04        40      3
04        40      5

或者有两张表,第一张包含 name, score,每个 name 占用一条记录;第二张表包含 name, timu,每一个题目占用一条记录。

这样用 SQL 查询就很方便:
Select Sum(timu) As cishu From test Group By timu
------解决方案--------------------
引用:
首先,这个数据表结构有问题。关系型数据库应该是完全线性的。

具体到你这个表,应该如下使用:
name    score     timu
01        20      1
01        20      2
01        20      3
......
04        40      3
04        40      5
……


强烈建议lz先按照1L把你的数据结构规范好,再实现后面的需求。
如同看着地基没打好,非要强行盖楼,后面会遇到更多麻烦,除非lz说,我实现了这个功能,甩手这个程序就这样了。
------解决方案--------------------
如楼上所说, 楼主你这个数据库建表有问题. 
数据要有唯一性, 除非你对该数据永远没有唯一性需求才可以堆放在一起. 但是将来万一有要求了,就拆不开了. 

象你这个需求至少应该建两个表, 换成我自己做的话就是3个表

表1用于存放用户信息字段:

姓名 , 学号, 性别 , 年龄 ... ,  ....

表2用于存放课题字段:

题目编号 , 题目分值 ......

表3用于存放用户和题目对应关系, 可以是固定表, 如果只是临时用, 也可以在查询中创建临时表:

学号, 题目编号, ...
或者
姓名, 题目编号, ... 

因为姓名可能重复,所以一般用学号, 也可以姓名+学号

学号, 姓名, 题目编号



表1和表2作为基本表来维护, 表3作为查询和报表结果, 从基本标中取数据.