-1

テーブルの最後の N 要素を取得するにはどうすればよいですか? このクエリを使用しましたが、機能していないようです。

Cursor c = database.rawQuery("select top 7 * from dailystats order by daily_ID desc;", null);
4

4 に答える 4

1

上はSQLServer用です制限を使用する必要があります

select * from dailystats order by daily_ID desc limit 7; 

または、最後の行だけを選択します

select * from dailystats where daily_ID = (select max(daily_ID) from dailystats); 
于 2012-05-05T15:34:15.217 に答える
1

ポイントを獲得するために、OPの要求に応じてコメントを回答として作成します;)

使用limitselect * from dailystats order by daily_ID desc LIMIT 7

于 2012-05-05T15:46:29.343 に答える
1

使用するだけlimitです:

select * from dailystats order by daily_ID desc limit 7;
于 2012-05-05T15:33:08.197 に答える
0

これらすべての回答を次のような Android コードに変換することを許可していただければ:

SQLiteDatabase database = dbHelper.getReadableDatabase();
String tableName = "dailystats";
String orderBy = "daily_ID desc";
String limit = String.valueOf(5);
Cursor cursor = database.query(tableName,
                               null, //all columns
                               null, // no where clause
                               null, // no where arguments
                               null, // no grouping
                               null, // no having
                               orderBy,
                               limit);

それ以降は、Android でcursor他のものと同じように使用します。列に関するcursor上位の結果が降順で保持されます。limitorderBy

于 2012-05-05T15:41:27.303 に答える