Android SQLite:如何从列中计算特定值?

Android SQLite:如何从列中计算特定值?,android,sqlite,count,Android,Sqlite,Count,我有两张表(考试表,结果表)。这是我的表格结果的值 result_id exam_id question_id correct_answer 1 2 4 y 2 2 5 y 3 2 6 n 4

我有两张表(考试表,结果表)。这是我的表格结果的值

result_id   exam_id   question_id   correct_answer  
  1            2            4              y     
  2            2            5              y       
  3            2            6              n         
  4            2            7              y        
我需要数一数考试id=2的正确答案是多少。
我尝试了以下代码,但它返回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”。
给我一些提示或参考。
感谢您的帮助。
提前谢谢

select count(*) from TABLE_RESULT where correct_answer="y" and exam id=2;
这是值为y且检查id=2的行总数

只需尝试运行此查询,然后向其中添加参数即可

SELECT COUNT(*)FROM result WHERE exam_id =" + examId + " and correctAnswer ='" + confirmAnswer +"'");
以上是我已格式化的您的查询

希望这对你有帮助

这是值为y且检查id=2的行总数

只需尝试运行此查询,然后向其中添加参数即可

SELECT COUNT(*)FROM result WHERE exam_id =" + examId + " and correctAnswer ='" + confirmAnswer +"'");
以上是我已格式化的您的查询


希望这能对您有所帮助。

@sanpatil:我想您的错误是在我刚刚删除的查询中将2作为字符串。谢谢……不,实际上我通过了包含值2的考试id。。。。您的第一个查询是在SQLite浏览器上运行的,但我需要在程序中进行检查…@sanpatil:我想您的错误是在我刚刚删除的查询中将2作为字符串。谢谢…不,实际上我通过了包含值2的考试id。。。。您的第一个查询是在SQLite浏览器上运行的,但我需要在程序中检查它。。。。。