antshome(원본 작업) 처음 게시됨: CSDN은
하나의 문으로 데이터베이스 페이징을 완료합니다.
select top 10 b.* from(상위 20개 기본 키 필드 선택, 필드 설명을 정렬하여 테이블 이름 순서에서 필드 정렬) a, 테이블 이름 b where b. 키 필드 = a. 기본 키 필드 순서 a. 정렬 필드
10 = 페이지당 레코드 수
20 = (현재 페이지 + 1) * 페이지당 레코드 수
이상은 페이징을 수행할 수 있지만 최종 결과는 정렬됩니다. 결과 집합이 필요한 경우 내림차순(예: 시간)으로 처리하는 경우 두 가지 방법이 있습니다
. 1. 다음 명령문을 사용하지만
테이블에서 *를 선택하면
효율성이 낮아질 수 있습니다.이름 b, (상위 10개 기본 키 필드 선택, 필드 정렬(상위 20개 기본 키 필드 선택, 테이블 이름 정렬 필드 설명에서 필드 정렬) 정렬 필드별 정렬) c 여기서 b. 키 필드 순서 c. 필드 설명 정렬
2. ado에서 처리하고 레코드 세트 커서를 끝으로 이동한 다음 앞으로 이동합니다.
''다음은 asp 예제
세트 rsTemp = Server.CreateObject("adodb.recordset")
입니다.rsTemp.Open 문,conn,1,1
rsTemp.MoveLast
for i = 1 to rsTemp.RecordCount
'값....
rsTemp.MovePrevious
다음
테스트 결과 위의 페이징 방법은 임시 테이블을 사용하는 것보다 빠르고 간단하고 사용하기 쉽습니다.