Android关于SQL Cursor和GROUP BY的问题

发布于 2024-10-03 06:11:36 字数 825 浏览 5 评论 0原文

我有一个使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柏林苍穹下 2024-10-10 06:11:36

如果您的数据是由 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文