正常情况,当然是遍历数组,然后一个一个select count()如果不想的话,可以这样,1,建立一临时表(Table1), 一个字段也行(Field1)2,数组的每个元素都insert进去3,select Field1, (select count(*) from t1 where sz=t2.Field1) from Table1 t24,遍历查询结果。还有一种方法是select distinct sz from t1 order by sz然后把所有结果存到数组再在两个数组间直接比较就可以了.当然数据量比较大的话,比较时可以半分法之类的。因为数组是大小排序的,没必要一直从头开始这可能是最快的这种没有很好的方法的吧,
1.查出数组中最小的数 minNum和最大的数 maxNum;2.query控件: select sz from t1 where sz>=minNum and sz<=maxNum order by sz3.循环遍历数组,针对每一个元素判断是否在数据库中存在时,直接对上面的query进行filter就可以了。4.对于第一个元素的filter,速度有点慢,后面的基本可以忍受。5.如果你的数组是有序的,在2的基础上,就可以不通过filter,而通过其它一些优化的方案,就可以提高判断速度。------------将filter来判断更改为通过Locate方式来判断,不知道是否可以加快速度,没测试过,呵呵