7

私は特定のテーブルを持っています:

CREATE TABLE x(
  id BIGSERIAL PRIMARY KEY,
  data JSONB 
);
INSERT INTO x(data) 
VALUES( '{"a":"test", "b":123, "c":null, "d":true}' ),
      ( '{"a":"test", "b":123, "c":null, "d":"yay", "e":"foo", "f":[1,2,3]}' );

そのテーブル内の各キーのタイプを照会する方法。これにより、次のような出力が得られます。

a | string:2 
b | number:2
c | null:2
d | boolean:1 string:1
e | string:1 
f | jsonb:1 -- or anything

キーとカウントを取得する方法しか知りませんが、各キーのタイプを取得する方法はわかりません:

SELECT jsonb_object_keys(data), COUNT(id) FROM x GROUP BY 1 ORDER BY 1

それは次のようなものになります:

a |  2
b |  2
c |  2
d |  2
e |  1
f |  1
4

2 に答える 2