0

我正在尝试查询其中一列包含 JSON 数据的数据库。我正在使用 python 和 json1 扩展将查询拉入我的 python 代码。

下面是数据库中 json 中的数据示例。

    "perf": {
        "timestamp": 1575933555,
        "frame": 0,
        "type": "BEST",
        "azimuth": 0
    },
    "dots": [{
        "a": -1.6,
        "b": -6.4,
        "c": -0.1,
        "int": 72
    }, {
        "a": -1.9,
        "b": -6.4,
        "c": 0.0,
        "int": 60
    }]
}

我正在尝试计算“点”嵌套列表中的项目数。在这种情况下,有两个,尽管可能或多或少取决于行内的数据。

SELECT COUNT(json_extract(json, ("$.dots"))) FROM json_database;

返回数据库中的总行数。它不会深入“点”列表来计算带有它的项目数。尝试索引$.dots[i]也不返回元素的总数。

如何将嵌套列表中的项目总数计算为 sqlite 查询?

4

1 回答 1

1

您错过了json_array_length()在文档中看到的内容。尝试这个:

SELECT json_array_length(json, '$.dots') AS count
FROM json_database;
于 2019-12-10T00:13:31.947 回答