我试图构建一个查询,它会检索传入呼叫持续时间的总和。
问题是SUM()无法识别。
错误消息为Invalid Column SUM(DURATION)
。
谢谢。
这是我的代码:
String[] columns = {"SUM("+CallLog.Calls.DURATION+")"};
String selection = CallLog.Calls.DATE+" >= ? and "+CallLog.Calls.TYPE+" = "+CallLog.Calls.INCOMING_TYPE;
String[] args = { String.valueOf(lastMonthMillis) };
Cursor cursor = resolver.query(CallLog.Calls.CONTENT_URI, columns,
selection, args, CallLog.Calls.DATE);
我试过这样:
String[] projection = { CallLog.Calls.DURATION, CallLog.Calls.TYPE,
CallLog.Calls.DATE, "SUM(" + CallLog.Calls.DURATION + ")" };
String selection = CallLog.Calls.TYPE + " = ? and "
+ CallLog.Calls.DATE + " >= ?";
String[] selectionArgs = { String.valueOf(CallLog.Calls.OUTGOING_TYPE),
String.valueOf(lastMonthMillis) };
String sortOrder = CallLog.Calls.DATE+" DESC";
Cursor cursor = resolver.query(CallLog.Calls.CONTENT_URI, projection, selection, selectionArgs, sortOrder);
错误是Invalid Column SUM(DURATION)
,因此可以识别持续时间?
有什么建议吗?