我试图从android中的SQL数据库中获取第一个Min值

时间:2015-10-27 13:56:40

标签: android sql

抱歉,我是新人。我有一个表,需要获取表的第一个最小值的列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;
}

1 个答案:

答案 0 :(得分:0)

SQLite没有FIRST()功能。但是,您可以使用LIMIT限制返回到一行的行数,因此按所需顺序排序将获得所需的行:

SELECT column_id FROM graph ORDER BY bac LIMIT 1;