【问题标题】: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 不支持它。是否有某种算法可以确定范围?最好在查询中完成。

谢谢。

【问题讨论】:

    标签: ms-access


    【解决方案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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-12-10
            • 2023-03-31
            • 2020-07-15
            • 1970-01-01
            • 2015-06-10
            • 2015-04-10
            相关资源
            最近更新 更多