rownum과 같은 mssql 방법
안녕하세요.
고코더 입니다.
시퀀스가 없는 테이블을 조회한 후에 해당 컬럼에 대한 순차적인 정보를 가져와야 할 경우 사용할 수 있는 방법입니다. 오라클에서는 rownum이 간단하게 해결 가능하지만 MSSQL은 약간의 방법이 필요 합니다.
● 1. 해당 테이블의 select로 조회 한 결과
1 2 3 4 5 6 7 8 9 | SELECT ROW_NUMBER() OVER(ORDER BY GoCoder desC) AS SEQ ,[GoCoder] ,[Blog] ,[Homepage] ,[Go] ,[gocoder_net] ,[gocoder.tistory.com] FROM [db_gocoder].[dbo].[Go] | cs |
● 2. 고유 번호가 없는 테이블입니다. (결과 창 맨앞에 있는 순번은 결과창 순번입니다. 데이터가 아닙니다.)
● 3. ROW_NUMBER()를 사용하여 해당 테이블 앞에 고유 순번을 매길려고 합니다.
아래 쿼리를 실행해주세요.
1 2 3 4 5 6 7 8 9 | SELECT ROW_NUMBER() OVER(ORDER BY GoCoder desC) AS SEQ ,[GoCoder] ,[Blog] ,[Homepage] ,[Go] ,[gocoder_net] ,[gocoder.tistory.com] FROM [db_gocoder].[dbo].[Go] | cs |
● 4. 원래 데이터 앞에 SEQ라는 순차적인 순번이 생겼습니다. 개발하기 편리하게 되었습니다.
● 5. 이 방법의 유의점은 정렬이 필요한 컬럼을 지정해줘야 합니다. Over안에 오더바이를 꼭 넣어줘야 합니다. (오라클은 그냥 되는데 귀찮네요)
1 | ROW_NUMBER() OVER(ORDER BY 정렬컬럼 desC) AS SEQ | cs |
마무리
고유번호가 있어야 개발이 쉽죠
'IT_Developers > MSSQL' 카테고리의 다른 글
SqlDbx - Failed to save file .. SpeedType.xml (1) | 2020.06.22 |
---|---|
SSMS - 접속 데이터베이스에 따라 색으로 구별 (0) | 2019.10.24 |
SSMS - 데이터베이스 테이블에서 컬럼명으로 검색하기 / 모든 테이블 컬럼 확인하기 (0) | 2019.10.24 |
MSSQL - 현재 데이터베이스 접속한 사용자의 정보 (0) | 2019.10.24 |
MSSQL - 현재 데이터베이스 전체 접속한 사용자 수 알아보기 (0) | 2019.10.24 |
댓글