데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

문의 드립니다.

MSSQL에서 ROW_NUMBER를 사용해 페이징을 할 경우에 대한 문의 입니다.


두개의 테이블을 union 한 가상의 테이블에서 ROW_NUMBER를 사용해 페이징 할 경우 아래와 같은 상황에서 페이징처리를

어찌하면 될까요?


예를 들어


A라는 한개의 테이블에서 여러가지 조건에 의해 전혀다른 타 테이블과 join하여 

B와 C 데이터 테이블로 나눕니다.


그래서 아래와 같이 유니온으로 합쳐서 D 테이블을 만듭니다.


select * from (

   select * from B

   union

   select * from C

) D


그리고 ROW_NUMBER를 사용해 페이징을 하기위해서 (index라는 고유필드값을 기준으로)


select ROW_NUMBER() OVER (order By index asc) AS RowNum,, * from (

   select * from B

   union

   select * from C

) D where RowNum>=1 and RowNum<=20


상기처럼 하면 index값이 1~20의 값 범위에서 데이터를 출력해 옵니다.

그런데, 여러 필드의 검색조건으로 검색을 할 경우 ROW_NUMBER를 index 값으로 하기 때문에

검색되는 결과 index값이 1~20 범위 밖에 있으면 검색결과가 0이 되어 데이터 출력이 안됩니다.

당연 하겠죠. 여기서 부터가 고민거리 입니다.


이 경우에는 어떻게 해야 할까요?





No. Subject Author Date Views
10474 접속기록보관때문에 문의합니다. [2] 하이홍구리 2019.07.21 1002
10473 SQL AlwaysON vs Mirroring 기능 장단점좀 요청 드립니다. [1] 제비 2019.07.19 1197
10472 Index가 걸려있는 컬럼 조회시, 정렬이 어떻게 선언되어 있는지 쿼리조회 가능한가요? [2] 무념 2019.07.18 1016
10471 DB변경내용 확인할 수 있나요 [3] 홍인표_314265 2019.07.15 950
10470 where절에서 앞의 조건에 따라 뒤의 조건이 달라질 때 [5] 길주석 2019.07.13 1218
10469 순서대로 데이터들 정렬하려고 합니다 [2] 슈토파이터 2019.07.11 947
10468 테이블 비교하여 update하는 로직 문의 [1] sh17 2019.07.05 1011
10467 주차별로 집계 데이터를 만들고 싶습니다. [1] 문성원 2019.07.04 928
10466 버전 업그레이드시 데이터 이관문제 질문드립니다. [3] 돼지꿈 2019.07.03 1108
» 테이블 union에서 ROW_NUMBER 페이징처리시... [1] seyo 2019.07.01 1615
10464 고수님들께 질의드립니다 [1] 닉닉닉스스스 2019.06.21 1473
10463 Inner join할때 궁금합니다 [2] Long99 2019.06.19 947
10462 컬럼들중 max와 min 값을 찾는 방법이 너무너무 궁금합니다.ㅠㅠ [4] 지혁유주 2019.06.18 1642
10461 tempdb 데이터 파일 개수 설정 문의 드립니다. [2] 신기섭_293593 2019.06.17 1279
10460 SSMS에서 편집하기 [1] 그린 2019.06.15 944
10459 exec 로 파라미터 찍어서 실행하는 방법이 있을까요? [1] neiyan 2019.05.13 996
10458 로그기록을 확인하고 싶습니다. [2] 팔개 2019.05.03 1001
10457 DDL CREATE INDEX 문법 문의 [1] 줄바둑 2019.05.01 1292
10456 검색엔진관련 질의사항 ( contains freetext ) HSQL 2019.04.29 846
10455 쿼리 프로세서에서 병렬 쿼리 실행에 필요한 스레드 리소스를 시작할 수 없습니다. [1] 냥냥 2019.04.25 1657





XE Login