繁体   English   中英

如何从表中的一列中选择不同的值?

[英]How to select distinct values from one column in table?

我正在Android中开发一个餐厅菜单应用程序。 我的应用程序有一个数据库表,其中包含以下列:

  • id(主键)
  • 类别
  • 项目名称

类别列显示项目的类别,例如蔬菜,非蔬菜,零食等。它具有重复值,我想从该列中仅选择不同的值。 我尝试了以下但如果有人能提供解决方案,它就无法运行:

String query = "SELECT DISTINCT category FROM todo";

Cursor  cursor = database.rawQuery(query,null);
if (cursor != null) {
    cursor.moveToFirst();
}

return cursor; 

您还可以使用此特定查询 - SQLiteDatabase类的方法,该方法采用布尔值来确定是否需要不同的值:

public Cursor query( boolean distinct ,String table,String [] columns,String selection,String [] selectionArgs,String groupBy,String having,String orderBy,String limit)

链接到Android参考

这样您根本不必使用rawQuery。

尝试:

"SELECT DISTINCT category as _id, category FROM todo"

在同样的情况下,这对我有用。

这就是我如何区分,也是为了获得类别

// Get Categories
public Cursor getCategories() {

    Cursor c = db.rawQuery("SELECT DISTINCT " + KEY_ITEM_CAT + " as " + KEY_ITEM_ID
            + ", " + KEY_ITEM_CAT + " FROM " + ITEMS_TABLE_NAME, null);

    if (c != null) {
        c.moveToFirst();
    }

    return c;
}

我正在寻找同样的问题,我以最简单的方式找到了直接解决方案的东西! 看看这个答案:

https://stackoverflow.com/a/13879436/4072073

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM