0

大家好,

我需要帮助来创建对我的数据进行分组的更新查询。

我表中的数据实际上是空间数据,可以认为是一个 10 列乘 5 行的矩阵。我有 ObjectID、Row 和 Column,但我想要列 DesiredResult,它是行和列的 2x2 分组。

因此 1,1 1,2、2,1 和 2,2 的 R,C 的 DesiredResult 将为 1,而 1,3 1,4 2,3 2,4 的 DesiredResult 将为 2,依此类推(见下面的例子)....

我能够使用 Quotient & Mod 的组合创建 R 和 C 列,所以我假设我会做类似的事情,但我被卡住了。我将如何在 MS Access 中进行此查询?

 ObjectID   R   C   DesiredResult
 1            1 1   1
 2            1 2   1
 3            1 3   2
 4            1 4   2
 5            1 5   3
 6            1 6   3
 7            1 7   4
 8            1 8   4
 9            1 9   5
 10           1 10  5
 11           2 1   1
 12           2 2   1
 13           2 3   2
 14           2 4   2
 15           2 5   3
 16           2 6   3
 17           2 7   4
 18           2 8   4
 19           2 9   5
 20           2 10  5
 21           3 1   6
 22           3 2   6
 23           3 3   7
 24           3 4   7
 25           3 5   8
 26           3 6   8
 27           3 7   9
 28           3 8   9
 29           3 9   10
 30           3 10  10
 31           4 1   6
 32           4 2   6
 33           4 3   7
 34           4 4   7
 35           4 5   8
 36           4 6   8
 37           4 7   9
 38           4 8   9
 39           4 9   10
 40           4 10  10
 41           5 1   11
 42           5 2   11
 43           5 3   12
 44           5 4   12
 45           5 5   13
 46           5 6   13
 47           5 7   14
 48           5 8   14
 49           5 9   15
 50           5 10  15
4

2 回答 2

0

就像是 ... ?

SELECT a.Row, a.Col, Col\2 AS D1, Col Mod 2 AS D2, [D1]+[D2] AS Desired
FROM  table  AS a
ORDER BY a.Row, a.Col;
于 2012-08-01T09:21:52.373 回答
0

Remou 有一个接近的近似值,但事实证明这给了我我需要的东西。我需要行索引和列索引。

 SELECT ObjectID, R, C, 
   Int(([C]-1)/2) AS ColIndex,
   Int(([R]-1)/2) AS RowIndex, 
   [RowIndex]*5+[ColIndex]+1 AS DesiredResult
 FROM Testing
 ORDER BY ObjectID

查询中的关键是 Column & Row Index (这是分组大小)中都有数字 2,而数字 5 用于 Desired Result 并表示行单元格的数量。

谢谢 !

于 2012-08-01T23:43:33.550 回答