抱歉,我是新人。我有一个表,需要获取表的第一个最小值的列ID。该表是有条理的,因此值一直在减小,直到它们变为0并且所有后续值都等于零。
有可能没有值为零,在这种情况下,Id需要最后一个ID。重要的是,由于我实施它的方式,我只有一个返回ID。这是我首先尝试的代码,但我收到了错误。
我没有尝试添加此处没有0的异常,因为我认为在我使用的方法的实现中添加If语句可能更容易。
我得到的错误让我感到困惑,因为在我认为可能时我似乎无法使用FIRST,但现在它是:
android.database.sqlite.SQLiteException:没有这样的功能:FIRST(代码 1):,编译时:SELECT FIRST(_id)FROM graph WHERE bac = 0;
我的代码:
public int getWhereZero(){
int zero = 0;
SQLiteDatabase db = getReadableDatabase();
String query = "SELECT FIRST (" + COLUMN_ID
+ ") FROM " + TABLE_GRAPH
+" WHERE " + COLUMN_BAC
+ " = 0;";
Cursor cursor = db.rawQuery(query, null);
if(cursor != null){
cursor.moveToFirst();
zero = cursor.getInt(cursor.getColumnIndex(COLUMN_ID));
cursor.close();
}
return zero;
}
答案 0 :(得分:0)
SQLite没有FIRST()
功能。但是,您可以使用LIMIT
限制返回到一行的行数,因此按所需顺序排序将获得所需的行:
SELECT column_id FROM graph ORDER BY bac LIMIT 1;