如何在iphone的sqlite表中获取最后10条记录

时间:2013-11-15 10:46:04

标签: iphone sql sqlite

我有表视图,我想在其中选择查询中添加的最后10条记录。我正在使用以下查询返回所有记录,但我想要最后添加10个。

这是查询

  

NSString * select = [[NSString alloc] initWithFormat:@“select * FROM   ContentMaster,其中ContentAddedByUserID ='%@'AND   HiveletCode = '%@”',appDelegate.userID,appDelegate.organizationCode];

我搜索了一些我们可以通过这样的热门记录获取的内容我得到了我们可以使用两个日期之间的日期来获取任何想法如何获得没有日期的最后10条记录。

我想获取最后添加的所有数据。

2 个答案:

答案 0 :(得分:4)

表格中的每一行都有unique ID,您可以将其用于查询:

SELECT
    *
FROM
    ContentMaster
WHERE
    ContentAddedByUserID='%@'
AND
    HiveletCode='%@'
ORDER BY
    rowid DESC
LIMIT 10

答案 1 :(得分:1)

根据documentation,Sqlite中的每一行都包含一个与之关联的64位自动递增ID。
所以你可以使用查询

SELECT * FROM ContentMaster WHERE ContentAddedByUserID='%@' AND HiveletCode='%@'
ORDER BY ROWID DESC
LIMIT 10

请记住,

  1. 如果声明普通表列使用其中一个已定义的特殊名称ROWID, _ROWID_, or OID,则使用该名称将引用声明的列而不是内部ROWID
  2. 如果某个表包含INTEGER PRIMARY KEY类型的列,则该列将成为ROWID的别名。