Office中国论坛/Access中国论坛

标题: [求助]如何统计列的连续数据的次数的问题?? [打印本页]

作者: weikitwong    时间: 2007-5-28 09:12
标题: [求助]如何统计列的连续数据的次数的问题??
如题,希望统计A列(见下表 A列 / 1 0 0 1 0 0 1 0 0 0  )连续情况:

0,连续2次,共有2条记录

     连续3次,共有3条记录

1,  连续1次,共有3条记录

如要得出以上结果,应如何建立查询??望高手指教!!

                                        A列

                                         1

                                         0

                                         0

                                         1

                                         0

                                         0

                                         1

                                         0

                                         0

                                         0

[em01]

[此贴子已经被作者于2007-5-28 18:11:18编辑过]


作者: andymark    时间: 2007-5-29 05:42
用ADO加判断会简单些
作者: eyewitnes    时间: 2007-5-29 22:41
Partition 函数





   


   





返回一个 Variant (String),指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内。


语法


Partition(number, start, stop, interval)





Partition 函数的语法含有下面这些命名参数:











部分


描述





number


必要参数。整数,在所有范围中判断这个整数是否出现。





start


必要参数。整数,数值范围的开始值,这个数值不能小于 0。





stop


必要参数。整数,数值范围的结束值,这个数值不能等于或小于 start






说明


Partition 函数会标识 number 值出现的特定范围,并返回一个 Variant (String) 来描述这个范围。Partition 函数在查询中是最有用的。可以创建一个选择查询显示有多少定单落在几个变化的范围内,例如,定单数从 1 到 1000、1001 到 2000,以此类推。


下面的表格使用三组 startstop 以及 interval 部分,来显示怎样决定这个范围。第一个范围和最后一个范围两列显示 Partition 的返回值,此范围的低端 (lowervalue) 和高端 (uppervalue) 是以冒号分开的。











start


stop


interval


第一个范围之前


第一个范围


最后一个范围


最后一个范围之后





0


99


5


" :-1"


" 0: 4"


" 95: 99"


" 100: "





20


199


10


" : 19"


" 20: 29"


" 190: 199"


" 200: "





100


1010


20


" : 99"


" 100: 119"


" 1000: 1010"


" 1011: "






从上面的表格中得知,在第三行中,由 startstop 所定义的数值范围不能以 interval 来均分。所以,即使 interval 是 20,最后一个范围也只能扩展到stop(11 个数)。


如果需要的话,Partition 会在返回的范围中加上足够的空白,以便让返回值在冒号的左右两侧有相同的字符数,其值就是 stop 中的字符数再加一。如此可确保当要使用 Partition 与其它的数值作运算时,所得的字符串,可以在之后的排序操作中得到正确的结果。


如果 interval 是 1,则范围便是 number:number,而不管 startstop 参数如何。比如说,如果 interval 是 1,number 是 100,而 stop 是 1000,则 Partition 会返回 " 100: 100"。


如果任何部分是 Null,则 Partition 会返回一个 Null




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3