确定指定编号的范围类别

时间:2008-11-04 19:21:27

标签: ms-access

所以我有一个不同数字的列,并希望在30分钟的间隔内按范围对它们进行分类。因此5将是0-30,697将是690-720,169将是150-180。我首先考虑做一个case语句,但它看起来不像Access 2003支持它。是否有某种算法可以确定范围?优选地,这将在查询中完成。

谢谢。

4 个答案:

答案 0 :(得分:2)

使用Int函数取(number / 30)的整数部分,然后乘以30得到你的下界,然后在该数字上加30得到你的上限。


的实例
Int(5 / 30) = 0 * 30 = 0
Int(697 / 30) = 23 * 30 = 690

答案 1 :(得分:0)

使用/(整数除法)和*(乘法)。 5/30 * 30 = 0 697/30 * 30 = 690 169/30 * 30 = 150 ...

答案 2 :(得分:0)

让x成为包含您要编目的值的列,您使用的是伪SQL:

select ((x/30)*30) as minrange,
(((x/30)+1)*30) as maxrange
from yourtable

(你应该选择除法的整数部分) 希望这会有所帮助。

答案 3 :(得分:0)

这是相当直接的。您可以使用以下内容。

(number \ 30) * 30

这将为您提供范围的较低索引。它确实有一个问题,即30,720,180等将作为自己返回。这意味着您的范围需要为0-29,690-719等,或让您的来电者考虑到这一点。

这假设您正在使用VBA,其中'\'运算符仅返回商。有关VB运算符here

的更多信息,请参阅