我有如下表格
---- | ---------------------
id | json
---- | ---------------------
1 | [{"score": 6, "r2": null,"r3": null}]
---- | ---------------------
2 | [{"score": null, "r2": 1,"r3": 2}]
我想知道每个json字符串中哪些键具有缺失值的数量。和键数缺少值。我的行数超过10米。
基本上我想要跟随输出
---- | --------------------- |--- |
id | keys | n |
---- | --------------------- |--- |
1 | ["r2","r3"] | 2 |
---- | --------------------- |--- |
2 | ["score"] | 1 |
我的代码如下
WITH A AS
(SELECT '1' AS id,
'[{"score": 6, "r2": null,"r3": null}]' AS json_response
UNION SELECT '2' AS id,
'[{"score": null, "r2": 1,"r3": 2}]' AS json_response)
以下代码只是过滤掉包含空值的行。我不知道如何创建上表。但是,以下代码不会选择包含缺失值的行
SELECT * FROM A WHERE json_typeof(json_response::json -> 'nullValue') = 'null'
如何构建缺少数据的查找键?
由于