确定指定数字的范围类别
Posted
技术标签:
【中文标题】确定指定数字的范围类别【英文标题】:Determine the range category of a specified number 【发布时间】:2008-11-04 19:21:27 【问题描述】:所以我有一列有不同的数字,并希望在 30 分钟内按范围对它们进行分类。所以 5 是 0-30,697 是 690-720,169 是 150-180。我首先考虑做一个案例陈述,但看起来 Access 2003 不支持它。是否有某种算法可以确定范围?最好在查询中完成。
谢谢。
【问题讨论】:
【参考方案1】:使用 Int 函数将 (number / 30) 的整数部分乘以 30 得到下限,然后将该数字加上 30 得到上限。
示例
Int(5 / 30) = 0 * 30 = 0
Int(697 / 30) = 23 * 30 = 690
【讨论】:
【参考方案2】:使用 /(整数除法)和 *(乘法)。 5/30*30 = 0 697/30*30 = 690 169/30*30 = 150 ...
【讨论】:
【参考方案3】:让 x 成为您想要分类的值的列,即您拥有的伪 SQL:
select ((x/30)*30) as minrange,
(((x/30)+1)*30) as maxrange
from yourtable
(你应该取除法的整数部分)。 希望这会有所帮助。
【讨论】:
【参考方案4】:这是相当直截了当的。您可以使用以下内容。
(number \ 30) * 30
这将为您提供范围的较低索引。它确实有一个问题,即 30、720、180 等将作为自己返回。这意味着您的范围要么需要为 0-29、690-719 等,要么让您的调用者考虑到这一点。
这假设您使用的是 VBA,其中 '\' 运算符仅返回商。查看更多关于 VB 操作符here
【讨论】:
以上是关于确定指定数字的范围类别的主要内容,如果未能解决你的问题,请参考以下文章