4

クエリに追加された最後の 10 件のレコードを選択するテーブル ビューがあります。すべてのレコードを返す次のクエリを使用していますが、最後の 10 件を追加したいです。

ここにクエリがあります

NSString* select = [[NSString alloc] initWithFormat:@"select * FROM ContentMaster where ContentAddedByUserID='%@' AND HiveletCode='%@'",appDelegate.userID,appDelegate.organizationCode];

このような上位レコードで取得できる場所をいくつか検索しましたが、日付を使用せずに最後の 10 レコードを取得する方法を考えれば、2 つの日付の間の日付を使用してフェッチできることがわかりました。

最後に追加された 10 個のデータをすべて取得したい。

4

2 に答える 2

8

テーブルのすべての行には一意の IDがあり、これをクエリに使用できます。

SELECT
    *
FROM
    ContentMaster
WHERE
    ContentAddedByUserID='%@'
AND
    HiveletCode='%@'
ORDER BY
    rowid DESC
LIMIT 10
于 2013-11-15T10:55:03.120 に答える
2

ドキュメントによると、Sqlite の各行には、関連付けられた 64 ビットの自動インクリメント ID が含まれています。
したがって、クエリを次のように使用できます

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

覚えて、

  1. 定義された特別な名前の 1 つを使用するように通常のテーブル列を宣言するROWID, _ROWID_, or OIDと、その名前を使用すると、内部ではなく宣言された列が参照されますROWID
  2. テーブルに INTEGER PRIMARY KEY 型の列が含まれている場合、その列はROWID.
于 2013-11-15T11:01:40.433 に答える