返回一个 Variant (String) 指示数字在计算序列中的位置。
语法
分区 ( 编号、开始、停止、间隔)
Partition 函数语法具有以下参数:
参数 |
说明 |
number |
必需。 要根据范围计算的整数。 |
开始 |
必需。 整数,即整个数字范围的开头。 数字不能小于 0。 |
停止 |
必需。 整数,即整个数字范围的末尾。 该数字不能等于或小于 start。 |
interval |
必需。 指定整个数字范围内分区的大小的整数, (开始和顶部) 之间的分区大小。 |
备注
Partition 函数标识数字下降的特定范围,并返回描述该范围的 Variant (String) 。 Partition 函数在查询中非常有用。 可以创建一个选择查询来显示不同范围内的订单数量,例如,从 1 到 1000、1001 到 2000 的订单值,等等。
下表显示了如何使用三组 start、 stop 和 interval 参数来确定范围。 “第一个范围”和“最后一个范围”列显示 Partition 返回的内容。 范围由 lowervalue:uppervalue 表示,其中,范围的低端 (低值) 与具有冒号 ( (的范围的 高端 (上限 值) 分隔 开来:) 。
开始 |
停止 |
interval |
Before First |
第一个范围 |
最后一个范围 |
在最后一个之后 |
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: " |
在上面显示的表中,第三行显示 开始 和 停止 定义一组不能均匀除以 间隔的数字时的结果。 最后一个范围扩展到 停止 (11 个数字) 即使 间隔 为 20。
如有必要, Partition 将返回一个具有足够前导空格的区域,以便冒号的左侧和右侧的字符数与 停止号中的字符数相同,加一个字符。 这可确保如果将 Partition 与其他数字一起使用,则将在任何后续排序操作期间正确处理生成的文本。
如果 interval 为 1,则范围为 number:number,而不考虑 start 和 stop 参数。 例如,如果 interval 为 1,number 为 100,stop 为 1000,则 Partition 返回“100:100”。
如果任一部分为 Null, 则 Partition 返回 Null。
查询示例
Expression |
结果 |
SELECT Partition (unitprice,40,240,20) AS PriceRange, count (productsales.unitprice) AS Count FROM productSales GROUP BY Partition (unitprice,40,240,20) ; |
为字段“unitprice”中的值创建一组范围,范围从“start” (40) 到“stop” (240) ,“interval” (20) 大小相等,并计算相应区域中的“unitprice”计数。 显示“PriceRange”列中的范围和“Count”列中的计数。 |
VBA 示例
此示例假定你有一个包含 Freight 字段的 Orders 表。 它创建一个选择过程,用于计算货运成本属于多个范围的订单数。 首先使用 Partition 函数建立这些范围,然后 SQL Count 函数计算每个区域中的订单数。 在此示例中,Partition 函数的参数为 start = 0,stop = 500,interval = 50。 因此,第一个范围为 0:49,依此至 500。
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);