2012-11-12 2 views
1

나는 안드로이드에서 간단한 객관식 퀴즈 게임을 만들고 있습니다. 나는 세 가지 선택, A, B, C를 가질 것입니다. 나는 퀴즈 질문에 대한 세 가지 가능한 대답을 포함하는 SQLite 데이터베이스를 만들었습니다. 이미 정답을 표시하려고합니다. 어떻게하면 SQL을 작성하여 지정된 범위에서 두 개의 무작위 응답을 선택할 수 있습니까? 이 코드 :안드로이드에서 SQLite 테이블의 특정 범위의 무작위 행 두 개

// ---Grabs RANDOM Event --- 
    public String getRandomEvent() { 
    Cursor cursor = this.db.query("thetable Order BY RANDOM() LIMIT 1", 
      new String[] { KEY_EVENT }, null, null, null, null, null); 
     String result = ""; 

     for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()){ 
      result = result 
      + cursor.getString(0); 
     } 

     return result; 

    } 

// --- END Grabs Event --- 

grabs 전체 테이블의 무작위 응답. 또한이 코드를 사용하면 특히 thetable Order BY RANDOM() LIMIT 1 같은 대답을 두 번 표시 할 수 있습니다. 내가 뭘하고 싶은 건 정답보다 10 행과 정답 아래에서 10 행의 두 가지 고유 한 답을 잡아내는 것입니다. 그래서 기본적으로 커서는 정답인 cursor.moveToFirst();으로 이동 한 다음 정답의 위와 아래 20 개 행에서 두 개의 무작위 응답을 선택합니다. 당신의 도움을 주셔서 감사합니다!

+0

무작위 => 무작위 제한에 의한 주문 2 ... – njzk2

답변

1

임의의 순서로 "위"와 "아래"는 실제로 의미가 없습니다.

LIMIT 3을 사용하여 3 개의 무작위 응답을 잡으십시오.

+0

맞아요, 작동합니다! 감사. – kirktoon1882