如何仅将10条最后记录存储到房间?

时间:2019-01-31 08:39:51

标签: android android-room

我有一些实体可以将我的数据存储到ROOM中。如何使用Room仅将最后10行存储到我的数据库中。现在我正在使用@Query("SELECT * FROM Entity LIMIT 10"),但看起来不正确

2 个答案:

答案 0 :(得分:0)

行得通吗?

这是正确的方法:

SELECT expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
LIMIT number_rows [ OFFSET offset_value ];

这是一个真实的例子:

SELECT contact_id, last_name, first_name
FROM contacts
WHERE website = 'TechOnTheNet.com'
ORDER BY contact_id ASC
LIMIT 5;

我从https://www.techonthenet.com/sql/select_limit.php获得了这些。

语法可能会稍有不同,因为我不知道您使用的是哪种SQL。

答案 1 :(得分:0)

我们只希望数据库中的前10条或以下记录,然后将ID设置为自动递增,并尝试删除ID与前10条结果(每次插入后)都不匹配的所有记录

DELETE FROM tableName where id NOT IN (SELECT id from tableName ORDER BY id DESC LIMIT 10)

此处是用于探索更多内容的链接:-

Limit the amount of rows in a room database