Android SQLite版本

Android SQLite版本,android,sql,sqlite,react-native,greatest-n-per-group,Android,Sql,Sqlite,React Native,Greatest N Per Group,我想检索表中每个聊天室id匹配的最后10行 这非常有效: SELECT * FROM (SELECT a.*, row_number() OVER (PARTITION BY a.chat_id ORDER BY a.timestamp DESC ) AS row FROM messages a ) AS foo WHERE row <= 10 但当我把这段代码放在我的React原生应用程序上时,它抛出并出错,这是因为它只

我想检索表中每个聊天室id匹配的最后10行

这非常有效:


SELECT *
FROM 
    (SELECT a.*,
         row_number()
        OVER (PARTITION BY a.chat_id
    ORDER BY  a.timestamp DESC ) AS row
    FROM messages a ) AS foo
WHERE row <= 10

但当我把这段代码放在我的React原生应用程序上时,它抛出并出错,这是因为它只在SQLite 3.25.0及更高版本中受支持


还有别的办法吗?我试图避免对SQL进行多个查询。

一个选项是使用相关子查询来计算有多少记录具有相同的聊天id和比当前行更大的时间戳,并使用结果进行筛选:

select m.*
from messages m
where (
    select count(*) 
    from messages m1 
    where m1.chat_id = m.chat_id and m1.timestamp > m.timestamp
) < 10

谢谢,这是我需要的。