【发布时间】:2015-06-15 15:14:49
【问题描述】:
我在 ACCESS 2010 中使用以下代码对表中的 ~30000 行进行排名。然而,排名大约需要 15 分钟(我必须再做 5 列,而且很容易需要一个多小时)。我需要这些列进行进一步处理,因此尝试创建一个新表。我也尝试过追加和更新现有的表。一切都需要同样的时间。我是否遗漏了一些明显的东西可以让它更快地工作?
SELECT MasterTable.Sales, (SELECT Count(*)+1 as HowMany
From MasterTable AS Dupe
WHERE Dupe.Sales > MasterTable.Sales) AS SalesRank INTO tableRank
FROM MasterTable;
MasterTable 的详细信息:
11 列。 1 个主键(文本)。 5 个参数(SalesSalesQtyProfitHitsCost,都是数字)。 5个参数的秩(如SalesRank等)
30,000 行
【问题讨论】:
-
你能澄清
Rank的意思吗? -
“排名”是指创建一个新列,其排名为 1(最高销售额)到最大值。
-
你能发布关于你的
MasterTable的基本细节吗? -
MasterTable的详细信息:11 列。 1 个主键。 5 个参数(如Sales)。 5 个参数的秩(如SalesRank) 30,000 行 -
对不起,我的意思更像是列名是什么,可能还有数据类型。
标签: sql ms-access ms-access-2010