복붙노트

[SQL] SQLite는 아이폰에서 열처럼 ROWNUM을 얻는 방법

SQL

SQLite는 아이폰에서 열처럼 ROWNUM을 얻는 방법

나는 (교체 아웃 오름차순으로)이 같은 SQLite는 데이터베이스 테이블이

하지만 난 내가 뒤죽박죽 위해 다음과 같이이 ROWID가 변경 순서를 오름차순으로 설정하면, 이름으로 오름차순으로 테이블을 검색해야

하지만 난 때마다 오름차순으로 접촉 5의 일부 제한된 수의 검색해야

아아 같은 - EEEE 다음 Ffff- Jjjjj ......

하지만 그 자체로 ** 0-5 5-10와 같은 t 제한 ... ** 그것을 할 수있는 수들이 뒤범벅하기 때문에의 ROWID를 사용하여

내가 순서 1234567에 느릅 나무 (오라클에서 ROWNUM) 같은 다른 열을 필요 그래서 ... 같은 때마다 다음과

기존의 열 열을 검색하는 방법

참고 : 우리 DONTE HAVE ROWNUM LIKE 열에서 SQLite는

해결법

  1. ==============================

    1.이는 ROWNUM을 날조하는 방법이 도움이되기를 바랍니다 :

    이는 ROWNUM을 날조하는 방법이 도움이되기를 바랍니다 :

    SELECT 
       (SELECT COUNT(*)
        FROM Names AS t2
        WHERE t2.name < t1.name
       ) + (
          SELECT COUNT(*) 
          FROM Names AS t3 
          WHERE t3.name = t1.name AND t3.id < t1.id
       ) AS rowNum,
       id,
       name
    FROM Names t1
    ORDER BY t1.name ASC
    

    SQL 바이올린 예

  2. ==============================

    2.가짜의 ROWNUM 솔루션은 영리하다,하지만 난 (복잡한 쿼리에 대해 당신이 가입하고 각 행에 현재 행 이전 행의 수를 계산해야)는 확장 성이 좋지 않습니다 두렵다.

    가짜의 ROWNUM 솔루션은 영리하다,하지만 난 (복잡한 쿼리에 대해 당신이 가입하고 각 행에 현재 행 이전 행의 수를 계산해야)는 확장 성이 좋지 않습니다 두렵다.

    나는 선택 / * 쿼리 * /로 테이블의 tmp를 만들어 사용하는 것이 좋습니다 것입니다. 선택 동작으로 만든 경우에 ROWID가 삽입 될 때 생성 때문에 행은 ROWNUM (카운터)를 어떻게 될지 정확하게이다. 그것은 SQLite는 문서에 의해 지정됩니다.

    초기 쿼리가 삽입되면, 당신은 단지 TMP 테이블을 쿼리해야합니다

    select rowid, /* your columns */ from tmp
    order by rowid
    
  3. ==============================

    3.당신은 오프셋 / 한계를 사용할 수 있습니다.

    당신은 오프셋 / 한계를 사용할 수 있습니다.

    첫번째, 두번째, 다섯 행의 3 그룹을 가져 오기 :

    select rowid, name from contactinfo order by name limit 0, 5
    select rowid, name from contactinfo order by name limit 5, 5
    select rowid, name from contactinfo order by name limit 10, 5
    

    위의 구문을 사용하여 경고 정렬 된 순서에서 이전의 모든 기록을 읽을 SQLite는 필요합니다. SQLite는 첫 번째 (9 개) 기록을 읽을 필요가 위에 그래서 문 번호 3 10의 기록을 얻을 수 있습니다. 당신은 많은 수의 레코드가있는 경우이 성능의 관점에서 문제가 될 수 있습니다.

    제한에 대한 자세한 정보 / 오프셋 :

    SQLite는 쿼리 최적화 (제한을 사용하여 오프셋)

    SQLite는 LIMIT / OFFSET 쿼리

  4. from https://stackoverflow.com/questions/14023292/how-to-get-rownum-like-column-in-sqlite-iphone by cc-by-sa and MIT license