大家好我需要获得一个SUM查询,只对当前月份的值进行求和
无论如何都要这样做?
public int getTotal() {
// TODO Auto-generated method stub
int sum=0;
Cursor cursor = ourDatabase.rawQuery(
"SELECT SUM(_value) FROM TableActone", null);
cursor.moveToFirst();
if(cursor.getCount()>0) {
sum=cursor.getInt(0);
}
return sum;
}
我现在有这个,但它获得该列上每个值的SUM!
我只想总结一下2013年11月的价值。
无论如何要做到这一点?
TY提前全部
编辑:
public static final String KEY_DATEACTONE = "_date";
我有一个列,用户输入费用的日期。 (它是一个费用管理器应用程序)
用户输入费用的日期,我使用此方法将日期输入数据库
final DatePickerDialog.OnDateSetListener mydate = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
myCalendar.set(Calendar.YEAR, year);
myCalendar.set(Calendar.MONTH, monthOfYear);
myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
updateLabel();
}
};
date.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new DatePickerDialog(ActoneSQLentry.this, mydate, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
}
private void updateLabel() {
String myFormat = "dd/MM/yy"; // In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
date.setText(sdf.format(myCalendar.getTime()));
答案 0 :(得分:1)
你必须给它当前的月份和年份。试试这个:
SELECT SUM(_value)
FROM TableActone
WHERE strftime('%m', date_col) = strftime('%m', (
SELECT DATE ('now')
))
AND strftime('%Y', date_col) = strftime('%Y', (
SELECT DATE ('now')
))
您可以查看strftime here的文档。