我正在尝试通过此查询从fts表中获取最低的_id

SELECT MIN(_id) FROM fts WHERE tbl_no=2 AND parent_id=6


我得到的结果是10。但是最小的_id是9,它适合选择参数。

如果我改用

SELECT _id FROM fts WHERE tbl_no=2 AND parent_id=6


并选择第一行,我得到正确的结果:9。

与虚拟表(FTS)有关吗?我最近从多个表转移到单个FTS,并且正在经历这种情况。

考虑到该表从未更新过,并且默认情况下已进行排序,因此我是否可以保证通过第二个查询获得想要的结果。

注意:我正在Android(尝试rawQueryquery)上运行它。我面前有桌子,我知道这是正确的:

最佳答案

_id是数字还是字符串?

使用字符串比较时,'10'
尝试:

SELECT MIN(CAST(_id AS UNSIGNED)) FROM fts WHERE tbl_no=2 AND parent_id=6


去检查。我不会在生产中使用它,因为它将无法使用索引。

关于android - 查询FTS表MIN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25388319/

10-11 01:18