0
我想編寫一個查詢來獲取每個聯繫人發送或接收的最後一條消息。但不幸的group by clause正在通過編寫以下查詢來創建一些問題,例如,我得到發送給聯繫人的最後一條消息,並且如果沒有消息發送給聯繫人,則最後一條接收消息由此查詢返回。android sqlite group by clause
String where = "type=? OR type=?) GROUP BY (thread_id ";
String[] whereArgs = new String[] { "" + Constants.SMS_RECEIVE,
"" + Constants.SMS_SENT };
try {
Cursor cursor = ctx.getContentResolver().query(Constants.URI_SMS,
smsProjection, where, whereArgs, "date DESC");
如果我刪除group by子句,我將獲得發送或接收到聯繫人的所有消息。
String where = "type=? OR type=? ";
String[] whereArgs = new String[] { "" + Constants.SMS_RECEIVE,
"" + Constants.SMS_SENT };
try {
Cursor cursor = ctx.getContentResolver().query(Constants.URI_SMS,
smsProjection, where, whereArgs, "date DESC");
使用group by子句的主要目的是爲什麼從數據庫中獲取不相關的記錄。