반응형
그룹의 행 번호 증분
두 개의 'index' 필드가 있는 데이터를 반환해야 하는 SQL Server 2005에 대한 쿼리를 수행하고 있습니다.첫 번째 인덱스 't_index'는 'shade' 열이 변경될 때마다 증가해야 하며, 두 번째 인덱스는 'shade' 열에 있는 값의 파티션 내에서 증가해야 합니다.
t_index s_index shade
1 1 A
1 2 A
1 3 A
1 4 A
1 5 A
2 1 B
2 2 B
2 3 B
2 4 B
2 5 B
s_index 열을 가져오려면 다음을 사용합니다.
Select ROW_NUMBER() OVER(PARTITION BY [shade] ORDER BY [shade]) as s_index
제 질문은 '그림자' 열의 값이 변경될 때 첫 번째 인덱스만 증가하도록 하는 방법입니다.
이는 다음을 통해 달성할 수 있습니다.DENSE_RANK()함수:
DENSE_RANK() OVER(Order By [shade]) as t_index
사용해 볼 수 있습니다.DENSE_RANK()이를 위해:
SELECT
shade,
s_index = ROW_NUMBER() OVER(PARTITION BY [shade] ORDER BY [shade]),
t_index = DENSE_RANK() OVER (ORDER BY [shade])
FROM dbo.YourTableNameHEre
출력을 제공합니다.
shade s_index t_index
A 1 1
A 2 1
A 3 1
A 4 1
A 5 1
B 1 2
B 2 2
B 3 2
B 4 2
B 5 2
언급URL : https://stackoverflow.com/questions/11116275/increment-row-number-on-group
반응형
'programing' 카테고리의 다른 글
| 두 Excel 파일의 모든 셀을 비교하는 VBA 매크로 (0) | 2023.06.26 |
|---|---|
| 운영체제 수준에서 수면은 어떻게 구현됩니까? (0) | 2023.06.26 |
| Oracle 10g에서 문자열 날짜를 날짜 형식으로 변환하는 방법 (0) | 2023.06.26 |
| 모든 자식 스레드가 완료될 때까지 메인 스레드를 대기시키는 방법은 무엇입니까? (0) | 2023.06.26 |
| 열의 값을 기존 데이터 프레임의 행 이름으로 변환 (0) | 2023.06.26 |