【发布时间】:2020-10-14 08:43:36
【问题描述】:
我已经为此奋斗了很长时间,但我无法构建一个查询,该查询将选择(并且最好还按顺序)数组中的项目计数。
我确实有这样的表格数据:
ID Data
1 {"$id": "1", "InnerArray": [{"$id": "1", "Timestamp": "2020-06-18T09:43:19.4873323+01:00"}, {"$id": "3", "Timestamp": "2020-06-19T08:25:35.7768657+00:00"}]}
etc...
我尝试了什么...
SELECT JSON_ARRAY_LENGTH("Data" ->'InnerArray'::json) AS lengtha
FROM "mystorage"
还有
SELECT JSON_ARRAY_LENGTH("Data"::json ->'InnerArray'::json) AS lengtha
不过如此
SQL Error [22P02]: ERROR: invalid input syntax for type json
Detail: Token "InnerArray" is invalid.
Position: 49
Where: JSON data, line 1: InnerArray
我尝试了很多不同的格式,但是来自 MS SQL 世界,我对 PostgreSQL 的理解似乎有点有限。
【问题讨论】:
-
与你的问题无关,但是:你真的应该避免那些可怕的引用标识符。他们的麻烦比他们的价值要多得多。 wiki.postgresql.org/wiki/…
标签: sql arrays json postgresql