ROW_NUMBER() OVER()
OVER() 에 ORDER BY 필수. (SELECT 1) 꼼수.
정렬한 순번이 필요하면 적절한 값 입력.
- 조회 순번
SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS rownum
FROM myTable;
- 페이징 쿼리
DECLARE @PAGE_NO INT = 1
DECLARE @PAGE_ITEM_CNT INT = 10
SELECT rownum, col1, col2, col3, totalCnt
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1)) AS rownum
, col1, col2, col3
, COUNT(*) OVER() AS totalCnt
FROM myTable
) tb
WHERE rownum BETWEEN
( (@PAGE_NO - 1) * @PAGE_ITEM_CNT ) + 1
AND ( @PAGE_NO * @PAGE_ITEM_CNT )
'Develop > MSSQL' 카테고리의 다른 글
[sql] 모든 제약조건 제거 모든 테이블 제거 쿼리 (0) | 2021.11.11 |
---|---|
[sql] EXECUTE 후 트랜잭션 개수는 BEGIN 및 COMMIT 문 수가 일치하지 않음을 나타냅니다. 이전 개수 = 0, 현재 개수 = 1. (0) | 2021.11.08 |
[sql] cross apply 사용법 뭐지 어떻게 쓰지 (0) | 2021.10.25 |
[mssql] cheet sheat (0) | 2021.10.01 |
[mssql] DATETIME cheatsheet (0) | 2021.09.27 |
댓글