기본 키와 정렬 순서가 주어진 NHibernate 쿼리에서 "주변"행을 검색하는 방법을 찾고 있습니까?NHibernate 쿼리에서 "주변"행 가져 오기
예. 로그 엔트리가있는 테이블이 있는데 기본 키 4242와 이전 5 개 항목 및 다음 5 개 항목을 날짜별로 정렬하여 표시하려고합니다 (날짜와 기본 키 사이에는 직접적인 관계가 없습니다). 이러한 쿼리는 총 11 개의 행을 반환해야합니다 (한 쪽 끝에 가까이 있지 않은 경우).
로그 엔트리 테이블은 거대 할 수 있으며 알아 내기 위해 모든 것을 검색 할 수 없습니다.
NHibernate에서 사용할 수있는 행 번호와 같은 개념이 있습니까? 기본 데이터베이스는 SQlite 또는 Microsoft SQL Server 중 하나입니다.
Id Time
4237 10:00
4238 10:00
1236 10:01
1237 10:01
1238 10:02
4239 10:03
4240 10:04
4241 10:04
4242 10:04 <-- requested "center" row
4243 10:04
4244 10:05
4245 10:06
4246 10:07
4247 10:08
우리가 1237, 1238 및 4239 4247. 순서로 행을 받아야 기본 키 (4242)와 함께 입장을 요청하는 경우 :
편집 추가 샘플
는 다음과 같은 데이터를 상상 시간이지, 이드.
단일 쿼리 (분명히 하위 쿼리를 포함 할 수 있음)에서 항목을 검색 할 수 있습니까? 시간은 고유하지 않은 열이므로 여러 항목의 값이 같고이 예에서는 고유하게 만드는 방식으로 해상도를 변경할 수 없습니다!
로 광고 작동합니다. 서로 다른 열을 정렬해야하므로 시퀀스 열을 유지하는 것이 효과가 없을 수 있습니다. 고유하지 않은 열을 정렬해야하는 상황에서 rownum 솔루션을 찾고 있었기 때문에 더 많은 아이디어가 환영받을만한 것이 었습니다 .-) – HakonB
좋습니다. 새로운 섹션을 참조하십시오. –