Sqlite选择与Where截然不同

时间:2013-03-21 22:08:12

标签: android sqlite select

我正在使用以下内容从我的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"

的顺序,我只想要该号码

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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

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

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

您可以在this link中看到sqlite数据库的select语法。

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

相关问题