如何计算json psql中的空值数

时间:2016-08-18 15:56:37

标签: json psql

我有如下表格

---- | --------------------- 
 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'

如何构建缺少数据的查找键?

由于

0 个答案:

没有答案