MS Access에서 ROW_NUMBER / PARTITION BY 달성
MS Access에서 ROW_NUMBER OVER(PARTITION BY) 기능의 기능을 에뮬레이트할 수 있습니다. 동일하지 않은 자체 조인을 사용하고 aggregation.
예제 데이터를 고려하세요.
Ino | TYPE | DOC |
---|---|---|
1 | 1800xxc1 | 3a |
2 | 1810xxc2 | 3b |
3 | 1700xxc3 | 3c |
4 | 1700xxc4 | 3a |
5 | 1800xxc5 | 3a |
6 | 1800xxc6 | 3a |
7 | 1800xxc7 | 3b |
ROW_NUMBER OVER(PARTITION BY 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
이 쿼리는 파티션 내의 각 행에 순차 정수를 할당하는 Ino Seq 열을 반환합니다(이 예제에서는 DOC). 경우).
이 특정 경우의 결과는 다음과 같습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!