내가 처음 두 행을 얻을 것 한 번에 두 개의 레코드를 반환하여 페이징 호출을 할 때 나는이SQL 정렬/페이징 질문 질문
ID Col1 Col2 1 a 11 2 b 22 3 c 33 4 d 44 5 e 55
같은 피벗 정렬 된 데이터 집합을 갖고 있다고 할 수 있습니다.
내가 같은 데이터를 반환하지만 내 데이터 세트가
ID Col Val 1 Col1 a 2 Col1 b 3 Col1 c 4 Col1 d 5 Col1 e 1 Col2 11 2 Col2 22 3 Col2 33 4 Col2 44 5 Col2 55
내가 첫 번째 예에서와 동일한 데이터를 반환하여 SQL 명령문을 작성하고자처럼 보이는 있도록 데이터를 피벗하지하고 싶은 말은하자 데이터를 먼저 피벗하지 않아도됩니다.
일부 추가 challanges는
1) 두
2) 고작 또한 모든 컬럼에 필터를 지원해야하지 n 열의가있을 수 있습니다. 이 파트는 이미 아래에서 볼 수 있습니다.
Filter on pivoted data WHERE Col1 in ('a', 'b', 'c') AND Col2 in ('11', '22') Filter on unpivoted data WHERE (Col = 'Col1' and Val in ('a', 'b', 'c')) or Col != 'Col1') AND (Col = 'Col2' and Val in ('11', '22')) or Col != 'Col2') Both filters return the same results.
필터 파트는 이미 정렬 및 페이징에 집중되어 있습니다.
내가보기에 하나의 옵션은 ROW_NUMBER를 사용하고 그런 다음 정렬하고 페이지하는 것입니다. –