【问题标题】:Show range of numbers based on thousands of records根据数千条记录显示数字范围
【发布时间】:2010-01-19 05:37:22
【问题描述】:

我有 15,000 个介于 1000-8000 之间的数字。每个数字都分配给六个类别和子类别之一,在某些情况下存在重叠。 样本数据:

value  cat1    cat2
2333   WHITE   A
2334   ORANGE  B
2335   ORANGE  A
2335   WHITE   B
2336   ORANGE  A
2336   WHITE   B
2336   RED     C
2337   RED     A
2338   RED     A
2339   RED     A
2340   RED     A

什么是组合这些值的有效方法:

  • 白色:2333、2335-2336
  • 橙色:2334-2335、2336
  • 红色:2336-2340

用例:给定一个值,例如 2338 A,检索 RED 的 cat1 值的有效方法是什么?

对于这个用例,存储这些字符串以进行测试的更有效方法是什么?

语言偏好是 JavaScript、PHP 或 MS Excel

【问题讨论】:

  • 记录已经在 Excel 中了?如果你想使用 PHP 是不是最好将它们转移到数据库中?
  • 目前数字在 Excel 中,但可以传输到 MySQL 或其他格式,无论适合什么 - 数据的存储不是这可以改变的因素,问题是如何操作数据一旦可用。
  • 好的。你的问题是“给定cat1 = Red”如何输出value = 2336~2340”还是用例,即“给定2338 A如何输出cat1 = RED”?

标签: excel numbers range


【解决方案1】:

在我看来,您的解决方案似乎找错了地方。

“检索”数据的任何变化/组合的最有效方法是“查询”数据库。

如果是我,我会将所有数据转储到 MySQL 中并从那里进行简单查询:

$num = 2338
$letter = A

SQL:

SELECT cat1
FROM dataSet
WHERE value = $num AND catb = $letter

相应地更改您的搜索值。

【讨论】:

  • 是的,我想我会这样做。如果 MySQL 不可用,我最初想在 JavaScript 中使用大量范围。
【解决方案2】:

因为这个问题被标记为Excel,所以我会提到你可以使用ADO和Jet来查询Excel。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2019-08-10
    相关资源
    最近更新 更多