728x90
반응형
SQL Server에는 ROW_NUMBER()라는 함수가 있다.
조회한 데이터의 ROW 번호를 매겨주는 것인데, 실무를 하다보면 가끔 필요할 경우가 생긴다.
사용 방법은
ROW_NUMBER() OVER(ORDER BY(정렬조건))
을 사용하면 된다.
ORDER BY 절 안에 정렬 조건을 넣어서, 어떤 기준으로 번호를 매길 지 결정해주자.
아래는 STUDENT 테이블에서 학번으로 ROW_NUMBER를 매기는 쿼리문이다.
SELECT ROW_NUMBER() OVER(ORDER BY (StudentNumber)) AS RowNum
,StudentNumber
FROM Student
만약, 아무 정렬 조건 없이, SELECT했을 때, 보이는 순서대로 번호를 매기고 싶다면,
아래처럼 SELECT 1을 넣어주면 된다.
SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS RowNum
,StudentNumber
FROM Student
조금 더 응용한다면,
아래처럼 ClassNumber로 그룹지어서,
반별로 번호를 따로 매길 수도 있다.
SELECT ROW_NUMBER() OVER(PARTITION BY ClassNumber ORDER BY (SELECT 1)) AS RowNum
,StudentNumber
,ClassNumber
FROM Student
728x90
반응형
'Skills > MsSQL' 카테고리의 다른 글
[MSSQL] CONSTRAINT 제약 조건 관련 문법 정리 (0) | 2023.11.13 |
---|---|
[MSSQL] SQL-Server 데이터 타입 총정리 (1) | 2023.11.13 |
[Error] 연결된 서버 \"서버명\"의 OLE DB 공급자 \"공급자명\"에 대해 중첩 트랜잭션을 시작할 수 없습니다. (0) | 2023.09.21 |
MSSQL PK 제약조건 생성하는 법 (1) | 2023.09.18 |
MSSQL 데이터베이스, 테이블, 컬럼, 제약조건 정보 조회 (0) | 2023.09.18 |