我不太了解如何在单个查询中完成此操作。
问题:
我有一张这样的桌子
id| phonenumber| message| group_name| datetime
示例数据
1 | 987654321 | "hi" | G1 | xxxxxxx
2 | 987654321 | "hi" | G1 | xxxxxxx
1 | 987145678 | "hello" | G2 | xxxxxxx
我想要做的是查询上面的 SqlLite 表,我需要以 . 的降序获取特定电话号码的所有行datetime
。这样我就可以将它们放在我的 HashMap 中,键为 as group_name
,值为 ArrayList messages
。
HashMap<String, ArrayList<String>> mapper = new HashMap<>();
我正在使用 GreenDao 库从 SqlLite 获取数据,我尝试如下
List<activity> activities = activityDao.queryBuilder().where(new WhereCondition.StringCondition(com.ficean.android.ficean.db.activityDao.Properties.Contact_number.eq(phonenumber) + "GROUP BY group_name")).orderDesc(com.ficean.android.ficean.db.activityDao.Properties.Date_time).build().list();
我设法使用GROUP BY
但它没有列出所有行进行上述查询。我是否必须获取特定数字的所有数据并根据 group_name 将其分开遍历每一行?或者有什么更好的方法吗?