2014-09-21 37 views
1

我想從我的Parse.com表中查詢最後20行。我遵循教程並生成了下面的代碼。代碼從表中返回20行,但不是最後20行。我返回前20項。如何只檢索最後20行?從parse.com表中查詢最後一行?

ParseQuery<ParseObject> query = ParseQuery.getQuery("Activities"); 
query.setLimit(20); 
query.findInBackground(new FindCallback<ParseObject>() { 
    public void done(List<ParseObject> scoreList, ParseException e) { 
    } 
}); 

回答

5

看來你只需要在你正在創建的ParseQuery上使用不同的排序方法。您可以訂購由CreatedDate字段查詢結果:

// Sorts the results in descending order by the Created Date field 
query.orderByDescending("dateCreated"); 

所以,在你的代碼,這將是這樣的:

//Where "CreatedDate", set the name of the Created Date field in your table. 
ParseQuery<ParseObject> query = ParseQuery.getQuery("Activities"); 
query.orderByDescending("CreatedDate").setLimit(20); 
query.findInBackground(new FindCallback<ParseObject>() { 
    public void done(List<ParseObject> scoreList, ParseException e) { 
    } 
}); 

最後,你也得到了前20倍的結果,但結果會以相反的順序排列,所以應該按照預期工作。

0

我有挑戰升序,但想要得到最後的記錄無論如何。 解決方法很簡單:

query.ascending("your col"); 

query.find({ 
     success: function(result){ 
     var lastRow = (result.length) - 1; 
     var highestValue = result[lastRow].get("your col"); 
     }, error: function //... and so on 

有時候你不想降序排列...

希望我能到這個偉大的論壇,幫助了我很多回饋!