Android数据库查询

Android数据库查询,android,Android,我有一个包含3列的数据库表:\ id、name、groupName 它看起来像这样: 1汤姆集团1 2山姆集团1 3 Ted集团2 4杰里集团3 5我组3 我想在数据库表中查询groupName。我试过这个: public Cursor getAllGroups() { return db.query(DATABASE_TABLE_1, new String[] {KEY_GROUP}, null, null, null, null, null); }

我有一个包含3列的数据库表:\ id、name、groupName

它看起来像这样:

1汤姆集团1

2山姆集团1

3 Ted集团2

4杰里集团3

5我组3

我想在数据库表中查询groupName。我试过这个:

public Cursor getAllGroups() 
{
      return db.query(DATABASE_TABLE_1, new String[] {KEY_GROUP}, 
            null, null, null, null, null);
}
然后返回一个光标:(group1,group1,group2,group3,group3)

有没有办法只获取唯一的组?(因此,我最终会看到一个光标沿着:(group1、group2、group3)


提前感谢。

我认为您需要使用带有不同关键字的原始SQL查询。大致代码如下:

db.rawQuery("select distinct groupName from "+DATABASE_TABLE_1, null);

下面是关于关键字的SQL教程

我认为您需要使用带有不同关键字的原始SQL查询。大致代码如下:

db.rawQuery("select distinct groupName from "+DATABASE_TABLE_1, null);
下面是关于关键字的SQL教程

db.rawQuery("select distinct column1, column2, column3 from tablename", null);
试试像这样的东西

db.rawQuery("select distinct column1, column2, column3 from tablename", null);

哇。我想出来了。我发这个帖子是为了帮助其他可能和我有同样问题的人

成功构建查询的步骤(适用于Android开发人员):

1) 下载并启动“RazorSQL”

2) 连接到数据库(按照屏幕上的说明操作)

3) 单击“数据库工具”->“查询生成器”->“您的数据库表名称”

4) 以图形方式构建查询(处理所有问题,然后单击“生成SQL”)

5) 复制SQL语句,并将其粘贴到RazorSQL编辑器窗口中

6) 单击绿色箭头(“->”)。现在将在数据库上执行查询,并显示结果

7) 复制SQL语句,转到“Eclipse”(Android开发环境)并将其作为字符串粘贴到rawQuery()函数中

因此,我的问题的正确答案是:

db.rawQuery("SELECT _id, groupName FROM titles GROUP BY groupName", null);
-->我通过在图形化SQL builder中玩发现了“分组依据”


享受SQL查询的乐趣

哇。我想出来了。我发这篇文章只是为了帮助其他可能和我有同样问题的人

成功构建查询的步骤(适用于Android开发人员):

1) 下载并启动“RazorSQL”

2) 连接到数据库(按照屏幕上的说明操作)

3) 单击“数据库工具”->“查询生成器”->“您的数据库表名称”

4) 以图形方式构建查询(处理所有问题,然后单击“生成SQL”)

5) 复制SQL语句,并将其粘贴到RazorSQL编辑器窗口中

6) 单击绿色箭头(“->”)。现在将在数据库上执行查询,并显示结果

7) 复制SQL语句,转到“Eclipse”(Android开发环境)并将其作为字符串粘贴到rawQuery()函数中

因此,我的问题的正确答案是:

db.rawQuery("SELECT _id, groupName FROM titles GROUP BY groupName", null);
-->我通过在图形化SQL builder中玩发现了“分组依据”


享受SQL查询的乐趣

我通读了教程,看起来您发布的代码应该可以工作(但它没有…)。是否有人知道一个教程,它解释了如何创建SQL查询,即如何使用rawQuery函数?我实际上需要一个光标在KEY\u ID和KEY\u GROUP\u NAME列上。如何创建一个在多个列上返回光标的rawQuery?我知道如何使用常规查询函数:db.query(DATABASE_TABLE_1,新字符串[]{KEY_ROWID,KEY_GROUP},null,null,null,null);但是如何使用rawQuery实现这一点呢?我还没有玩过它,但是MOTODEVSTUDIO有一个构建查询的工具,我想我已经读完了教程,看起来你发布的代码应该可以工作了(但它没有…)。是否有人知道一个教程,它解释了如何创建SQL查询,即如何使用rawQuery函数?我实际上需要一个光标在KEY\u ID和KEY\u GROUP\u NAME列上。如何创建一个在多个列上返回光标的rawQuery?我知道如何使用常规查询函数:db.query(DATABASE_TABLE_1,新字符串[]{KEY_ROWID,KEY_GROUP},null,null,null,null);但是如何使用rawQuery实现这一点呢?我还没有玩过它,但我认为MOTODEVSTUDIO有一个工具来构建查询