テーブルの最後の N 要素を取得するにはどうすればよいですか? このクエリを使用しましたが、機能していないようです。
Cursor c = database.rawQuery("select top 7 * from dailystats order by daily_ID desc;", null);
上はSQLServer用です制限を使用する必要があります
select * from dailystats order by daily_ID desc limit 7;
または、最後の行だけを選択します
select * from dailystats where daily_ID = (select max(daily_ID) from dailystats);
ポイントを獲得するために、OPの要求に応じてコメントを回答として作成します;)
使用limit
、select * from dailystats order by daily_ID desc LIMIT 7
使用するだけlimit
です:
select * from dailystats order by daily_ID desc limit 7;
これらすべての回答を次のような 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
上位の結果が降順で保持されます。limit
orderBy