2017-04-14 10 views
1

내 테이블의 기본 키에 SERIAL (임의의 숫자)과 같은 것을 사용하면 테이블에서 번호가 매겨진 행을 어떻게 선택할 수 있습니까? MySQL에서는 자동 증가 ID를 사용하여 특정 행을 선택하지만 임의의 번호 매기기 순서로 문제에 접근하는 방법을 모르겠습니다.CockroachDB에서 n 번째 행을 선택하는 방법은 무엇입니까?

+--------------------+------+-------+ 
|   id   | name | score | 
+--------------------+------+-------+ 
| 235451721728983041 | ABC | 1000 | 
| 235451721729015809 | EDF | 1100 | 
| 235451721729048577 | GHI | 1200 | 
| 235451721729081345 | JKL | 900 | 
+--------------------+------+-------+ 

답변

2

n 번째 행을 반환합니다 LIMITOFFSET 절을 사용하여 :

는 참고로, 여기에 내가 함께 일하고 있어요 테이블입니다. 예를 들어 SELECT * FROM tbl ORDER BY col1 LIMIT 1 OFFSET 9은 10 번째 행을 반환합니다.

ORDER BY 절을 포함하는 것이 중요합니다. 결과의 순서가 중요하므로 여기에 ORDER BY이 포함되지 않은 경우 결과가 임의로 주문되었을 수 있습니다. 당신이 일이 삽입 된 순서에 대해 신경 경우이 경우 항상하지 비록 거래 경합과 다른 상황이 될하지 생성 된 SERIAL 값을 일으킬 수 있기 때문에

, 당신은 (귀하의 경우 id)를 SERIAL 열을 ORDER BY 수 엄격하게 명령했다.