用于特定日期结果的android sqlite查询语句

时间:2013-07-10 16:38:00

标签: android sqlite cursor sum

我想查询今年pro_price的总金额..这里有什么问题在sqlite查询语句getDate()。endWith(getThisYear())?

 public double SumPriceYear(){

Cursor sum = ourDatabase.rawQuery("SELECT SUM( " + Pro_Price + " ) FROM "+ TABLE_NAME + " Where " + Pro_Date + " = '" + getDate().endsWith(getThisYear()) + "' ", null);
if(sum.moveToFirst())
{
    return sum.getDouble(0);
}

return sum.getDouble(0);

}

1 个答案:

答案 0 :(得分:0)

您的选择总和应该有一个列名,而不是值。此外,您不应将日期与一年比较。它不匹配。你需要逐年比较。

试试这个:

public double SumPriceYear(){

Cursor sum = ourDatabase.rawQuery("SELECT SUM(COLUMN_NAME) FROM "+ TABLE_NAME + " WHERE date(" + Pro_Date + ",'%Y') = '" + getDate().endsWith(getThisYear()) + "' ", null);
if(sum.moveToFirst())
{
    return sum.getDouble(0);
}

    return sum.getDouble(0);
}

我做了更改:

  • SUM(COLUMN_NAME)
  • 日期(“+ Pro_Date +”,“%Y”)