1

我有一张这样的桌子:

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

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

我希望能够在ORDER BY data->b DESC没有全表扫描(索引)的情况下查询数据库。

这在 SQLite JSON1 中可能吗?

4

1 回答 1

1

使用功能json_extract()

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

请参阅演示

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

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

请参阅演示

于 2021-12-25T22:26:13.583 回答