在MS Access 中實作行編號
「Row Number Over Partition By」函數常見於SQL 等資料庫中,它將允許 Server 等資料庫中,它將允許 Server連續整數值分配給結果集指定分區內的行。雖然 MS Access 本身不支援此功能,但可以實現類似的結果。
自連接方法
一種模擬「分區上的行號」的方法Access 中的「By」是透過不平等自連線。考慮下表:
Ino | Type | DOC |
---|---|---|
1 | 1800xxc1 | 3a |
2 | 1810xxc2 | 3b |
3 | 1700xxc3 | 3c |
4 | 1700xxc4 | 3a |
5 | 1800xxc5 | 3a |
6 | 1800xxc6 | 3a |
7 | 1800xxc7 | 3b |
以下查詢使用自聯接根據「DOC」欄位計算分區內的行號:
SELECT t1.DOC, t1.Type, COUNT(*) AS [Ino Seq] FROM MyData AS t1 INNER JOIN MyData AS t2 ON t2.DOC = t1.DOC AND t2.Ino <= t1.Ino GROUP BY t1.DOC, t1.Type ORDER BY 1, 3
此查詢傳回下列結果:
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 |
以上是如何在 MS Access 中模擬 ROW_NUMBER() OVER (PARTITION BY) 功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!