Cursor mCallLogCursor = getContentResolver().query(
CallLog.Calls.CONTENT_URI,
new String[]{"max(date) as max_date",
CallLog.Calls.NUMBER,
CallLog.Calls.DURATION,
CallLog.Calls.TYPE},
"1=1) group by(number",
null,
CallLog.Calls.DEFAULT_SORT_ORDER);
上面的语句还原成SQL语句,如下句所示。
SELECT max(date) as max_date, number, duration,type FROM calls WHERE (1=1) group by(number) ORDER BY date DESC
实现了通话记录的去重和查询的功能(去重是把时间靠前的通话记录去掉)
个人理解SQL语句执行,是SELECT 数据 从 表的grop里选出max的数据。