이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 15626|회답: 2

[출처] Oracle 페이지네이션 쿼리 정렬 데이터 중복 문제

[링크 복사]
게시됨 2017. 9. 20. 오전 9:52:47 | | |

페이지네이션 쿼리는 프로젝트 개발 과정에서 많이 사용되고, 날짜별로 정렬할 때 중복된 데이터가 많습니다.

이 문제는 날짜의 값이 데이터에서 유일하지 않기 때문에 발생합니다.

우리는 알아요

오라클의 페이지네이션 쿼리는 정렬 작업을 수행하지 않으며, 오라클은 데이터 블록에서 적격 데이터를 순차적으로 읽어 클라이언트로 반환합니다.

오라클의 정렬 알고리즘은 안정적이지 않으며, 즉 키가 동일한 데이터의 경우, 알고리즘이 정렬을 완료한 후 키가 동일한 데이터가 정렬 전에 정렬을 유지할 것임을 보장하지 않습니다.

이 문제의 해결책은 문제를 해결하기 위해 주 키와 같은 고유 열을 끝에 추가하는 것입니다.



또는






이전의:몇 가지 유용한 외국 IP 프록시를 추천해 드리겠습니다.
다음:첨부파일이 포함된 메일 프로그램 다운로드를 전송하기 위해 .net/c#
 집주인| 게시됨 2017. 9. 25. 오후 4:00:51 |
Oracle에서 rownum과 row_number()의 차이점
http://www.itsvse.com/thread-4107-1-1.html
(출처: 건축가)
 집주인| 게시됨 2017. 9. 25. 오후 4:02:34 |
rownum은 조건 필터링 다음, 그리고 어떤 순서나 집계 전에 할당됩니다. 동시에, rownum은 행에 할당될 때만 증가합니다. rownum의 초기 값은 1입니다. 쿼리에서 생성된 후 Rownum은 더 이상 변경되지 않습니다:
ROWNUM <= 5 순서를 따라 단어 설명에 따라 EMP에서 * 선택;
이 문장의 목적은 상위 5명의 최고 연금 직원 정보를 반환하는 것이지만, rownum 원칙에 따라 rownum은 명령 전에 생성되므로 이 문장은 상위 5명의 역할을 하지 않으며, 올바른 문법은 다음과 같습니다:
선택 * (sal desc에 따른 EMP 순서에서 * 선택 가능) 여기서 ROWNUM <= 5;
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com