0

我正在使用以下命令从我的 android 应用程序中搜索我的 sqlite 数据库:

数据库的行是: ID - KEY_NUMBER - TYPE

Cursor cursor = db.rawQuery("select DISTINCT "+KEY_NUMBER+" from "+TABLE + " DESC", null);

但我只想从KEY_NUMBER列中提取不同的值,如果

TYPE column!=another value

我该怎么做?我尝试插入一个Where语句,但它不起作用。

TYPE 列可以是 3 个值之一:"type1","type2","type3" 我只想要数字,TYPE!="type1"如果TYPE=="type2" || "type3"

4

2 回答 2

2

好的,那么该WHERE子句应如下所示:

WHERE TYPE IN ('type2', 'type3')

最后,整行应该是这样的:

Cursor cursor = db.rawQuery("select DISTINCT " + KEY_NUMBER + " from " + TABLE + " WHERE TYPE IN ('type2', 'type3') ORDER BY KEY_NUMBER DESC", null);
于 2013-03-21T22:23:03.263 回答
0

只需尝试删除DESC关键字,然后添加where type != '<your_value>'. 您的查询应该是:

db.rawQuery("select DISTINCT "+KEY_NUMBER+" from "+TABLE + " where " + TYPE + " != '" + <value> + "'", null);

当此查询正常工作时,添加排序子句:order by key_number. 它应该可以工作(至少它可以在 MySQL 数据库中工作)。

您可以在此链接中查看 sqlite 数据库的选择语法。

我希望这可以解决您的问题。

于 2013-03-21T22:36:25.307 回答