在 MS Access 中实现行号功能
“ROW_NUMBER OVER (PARTITION BY)”函数,常用于 SQL 中分配连续编号在结果集的分区内,可以使用自连接在 Microsoft Access 中进行模拟聚合。
考虑以下数据集:
DOC_TYPE Ino 3a 1800xxc1 3b 1810xxc2 3c 1700xxc3 3a 1700xxc4 3a 1800xxc5 3a 1800xxc6 3b 1800xxc7
要复制“ROW_NUMBER”行为,我们可以使用如下查询:
SELECT t1.DOC_TYPE, t1.Ino, COUNT(*) AS RowNum FROM YourTable AS t1 INNER JOIN YourTable AS t2 ON t2.DOC_TYPE = t1.DOC_TYPE AND t2.Ino <= t1.Ino GROUP BY t1.DOC_TYPE, t1.Ino ORDER BY 1, 3
此查询在 DOC_TYPE 列上自连接表并对 Ino 值进行小于或等于比较。然后,它按 DOC_TYPE 和 Ino 聚合行,计算每个唯一的 DOC_TYPE、Io 对的出现次数。分配给 RowNum 别名的结果计数表示连续行号。
将此查询应用于示例数据将产生以下结果:
DOC_TYPE Ino RowNum 3a 1800xxc1 1 3a 1700xxc4 2 3a 1800xxc5 3 3a 1800xxc6 4 3b 1810xxc2 1 3b 1800xxc7 2 3c 1700xxc3 1
以上是如何在 Microsoft Access 中模拟 ROW_NUMBER() 功能?的详细内容。更多信息请关注PHP中文网其他相关文章!