Android关于SQL Cursor和GROUP BY的问题
我有一个使用 GROUP BY 的查询,以便结果按日期列分组。我的问题是这样的:
当我移动光标来获取查询结果时,如何将与每个组关联的多个项目放入我的向量中?例如,我想同时获取 2010 年 10 月 16 日的“项目 X”和“项目 Y”。目前,我分别获取它们。这是我的代码:
Vector<Event> v = new Vector<Event>();
Event e;
detailCursor.moveToFirst();
while (detailCursor.isAfterLast() == false) {
e = new Event();
e.setEventDate(detailCursor.getString(detailCursor
.getColumnIndex("eventDate")));
e.setItem(detailCursor.getString(detailCursor
.getColumnIndex("Item")));
v.add(e);
detailCursor.moveToNext();
}
detailCursor.close();
因此,当我从 Vector 获得结果时,我将得到:
October 12, 2010 - 项目 X
2010 年 10 月 12 日 - 项目 Y
和我想要:
2010 年 10 月 12 日 - 项目 X,项目 Y
是的,我确实必须更改我的向量以支持多个项目,但希望您能明白我面临的问题...
谢谢!
I have a query that is making use of GROUP BY so that the results are grouped by a date column. My question is this:
When I move through the cursor to get the results of the query, how can I get the multiple items associated with each group into my vector? For example, I want to get BOTH "Item X" and "Item Y" for October 16, 2010. Currently, I get them each separately. Here is my code:
Vector<Event> v = new Vector<Event>();
Event e;
detailCursor.moveToFirst();
while (detailCursor.isAfterLast() == false) {
e = new Event();
e.setEventDate(detailCursor.getString(detailCursor
.getColumnIndex("eventDate")));
e.setItem(detailCursor.getString(detailCursor
.getColumnIndex("Item")));
v.add(e);
detailCursor.moveToNext();
}
detailCursor.close();
So, when I get the results from my Vector, I will get:
October 12, 2010
- Item X
October 12, 2010
- Item Y
and I want:
October 12, 2010 - Item X, Item Y
Yes, I do have to change my Vector to support multiple items, but hopefully you get what issue I'm facing...
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您的数据是由 SQLite 提供的,您需要更改查询并在此使用 GROUP_CONCAT(col)案件。
这会将同一组的所有子值连接到一个值中。
If your data is provided by SQLite you need to change your query and use GROUP_CONCAT(col) in this case.
That will concat in one value all the subvalues for the same group.