SQLite3 JSON1 按数字索引排序

SQLite3 JSON1 Order by numeric index

我有一个 table 这样的:

TestTable
---------
data (TEXT)

所有 data 值都是 JSON 对象,例如 { a:1, b:2, c:3 }

我希望能够查询数据库和 ORDER BY data->b DESC 而无需完全 table 扫描(索引)。

这在 SQLite 中可行吗JSON1?

使用函数json_extract():

SELECT * 
FROM TestTable
ORDER BY json_extract(data, '$.b') DESC;

查看demo

如果引用 b 的值,则转换为数字:

SELECT * 
FROM TestTable
ORDER BY json_extract(data, '$.b') + 0 DESC;

参见demo