关于SQL Cursor和GROUP BY的Android问题

时间:2010-11-19 20:16:12

标签: java sql android sqlite cursor

我有一个使用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获得结果时,我会得到:

2010年10月12日 - 第X项

2010年10月12日 - 项目Y

我希望:

2010年10月12日 - 项目X,项目Y

是的,我必须更改我的Vector以支持多个项目,但希望你得到我面临的问题...

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您的数据由SQLite提供,则需要更改查询并在这种情况下使用GROUP_CONCAT(col)

这将在一个值中连接同一组的所有子值。