I have a table like this:
TestTable
---------
data (TEXT)
All data
values are JSON objects like { a:1, b:2, c:3 }
.
I want to be able to query the database and ORDER BY data->b DESC
without a full table scan (indexed).
Is this possible in SQLite JSON1?
Use the function json_extract()
:
SELECT *
FROM TestTable
ORDER BY json_extract(data, '$.b') DESC;
See the demo.
If the values for b
are quoted then cast to numeric:
SELECT *
FROM TestTable
ORDER BY json_extract(data, '$.b') + 0 DESC;
See the demo.