我并不真正了解如何在单个查询中完成此操作。查询记录并从SQLite中创建它们组表
问题:
我有这样
id| phonenumber| message| group_name| datetime
实例数据的表
1 | 987654321 | "hi" | G1 | xxxxxxx
2 | 987654321 | "hi" | G1 | xxxxxxx
1 | 987145678 | "hello" | G2 | xxxxxxx
我想要做的就是查询上述SqlLite表以这样的方式,我需要以datetime
的降序获取特定音名的所有行。这样我就可以将它们放在我的HashMap中,其密钥为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
上面做查询,但它没有列出所有rows.Do我得所有特定数据的数据,并根据group_name循环遍历每行?还是有什么更好的办法呢?
为什么你需要这个HashMap?看起来你只是想将所有的数据库存储在内存中...... – lovasoa