【发布时间】:2014-03-21 23:25:57
【问题描述】:
如何在 MS 访问中使用“Row number over partition by”?我用谷歌搜索了它,但找不到任何关于如何进行此操作的信息。我说的是这个特殊的函数,它为结果集分区内的每一行分配一个连续的整数:
RowNumber Over(Partition by city Order By EmployeeID)
我的数据如下所示:
DOC_TYPE Ino
3a 1800xxc1
3b 1810xxc2
3c 1700xxc3
3a 1700xxc4
3a 1800xxc5
3a 1800xxc6
3b 1800xxc7
但是,我需要它看起来像这样:
DOC_TYPE Ino Seq
3a 1800xxc1 1
3a 1700xxc4 2
3a 1800xxc5 3
3a 1800xxc6 4
3b 1810xxc2 1
3b 1800xxc7 2
3c 1700xxc3 1
这是我的查询:
SELECT t1.RT_TAXCODE, t1.INV_NO, COUNT(*) AS Sno
FROM GroupByTAXCODE AS t1 INNER JOIN GroupByTAXCODE AS t2 ON (t2.RT_TAXCODE = t1.RT_TAXCODE) AND (t2.Inv_no <= t1.Inv_no)
GROUP BY t1.RT_TAXCODE, t1.INV_NO
HAVING COUNT(*)=1
ORDER BY 1, 3;
这需要更多时间,因为 f 30 秒
【问题讨论】:
-
你什么也没找到?如果我用 Google 搜索(通过分区访问 row_number),我发现的第一个链接显示 Access 不支持此约定(最初来自 Oracle)。但是提供了一些解决方法。 tek-tips.com/viewthread.cfm?qid=1615753
-
[GroupByTAXCODE] 本身是一个查询(而不是一个实际的表)吗?
标签: sql ms-access ms-access-2010