2012-04-08 5 views
0

두 테이블 (TABLE_EXAM, TABLE_RESULT)이 있습니다. 여기 내 TABLE_RESULT 값입니다.Android-SQLite : 열에서 특정 값을 계산하는 방법?

result_id exam_id question_id correct_answer 
    1   2   4    y  
    2   2   5    y  
    3   2   6    n   
    4   2   7    y   

exam_id = 2 인 경우 correct_answer = 'y'가 몇 개인 지 계산해야합니다.
나는 다음 코드를 시도하지만 내가 "Y"통과 변수 confirm_answer에서 0

public int calculateResult(int examId,String confirmAnswer) 
{ 
    int correctAnswer=0; 
    try 
    { 
     SQLiteDatabase db=this.getWritableDatabase(); 

     String selectQuery=("select count(correctAnswer) from result where exam_id ='" + examId + "' and correctAnswer ='" + 'y' +"'"); 
     // String selectQuery=("SELECT COUNT(*)FROM result WHERE exam_id ='" + examId + "' and correctAnswer ='" + confirmAnswer +"'");    
      Cursor cursor = db.rawQuery(selectQuery, null); 
     if(cursor.moveToLast()) 
     { 
      correctAnswer=cursor.getInt(3); 
     } 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
    return correctAnswer; 
} 

을 반환합니다.
힌트 또는 참고 자료를 제공해주십시오.
도움을 주시면 감사하겠습니다. 이것은 Y 및 시험 ID와 같은 값을 갖는 행의 총 수는 사전

답변

4
select count(*) from TABLE_RESULT where correct_answer="y" and exam id=2; 


감사 =

이 그냥이 쿼리를 실행하려고하고 단지에 매개 변수를 추가합니다.

SELECT COUNT(*)FROM result WHERE exam_id =" + examId + " and correctAnswer ='" + confirmAnswer +"'"); 

위의 내용은 내가 지정한 서식입니다.

희망이 도움이됩니다.

+0

@sanpatil : 나는 실수로 2를 방금 제거한 쿼리의 문자열로 사용했다고 생각합니다. – Bhavin

+0

고마워요 ... 사실, 나는 값 2를 포함하는 exam_id를 전달합니다 ... 첫 번째 쿼리는 SQLite 브라우저에서 실행되지만 프로그램에서 확인해야합니다 ..... –

관련 문제