mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-19 12:52:37 +00:00
4.2 KiB
4.2 KiB
slug | sidebar_position |
---|---|
/ja/sql-reference/aggregate-functions/reference/distinctjsonpaths | 216 |
distinctJSONPaths
JSON カラムに格納されている異なるパスのリストを計算します。
構文
distinctJSONPaths(json)
引数
json
— JSON カラム。
返される値
- ソートされたパスのリスト Array(String)。
例
クエリ:
DROP TABLE IF EXISTS test_json;
CREATE TABLE test_json(json JSON) ENGINE = Memory;
INSERT INTO test_json VALUES ('{"a" : 42, "b" : "Hello"}'), ('{"b" : [1, 2, 3], "c" : {"d" : {"e" : "2020-01-01"}}}'), ('{"a" : 43, "c" : {"d" : {"f" : [{"g" : 42}]}}}')
SELECT distinctJSONPaths(json) FROM test_json;
結果:
┌─distinctJSONPaths(json)───┐
│ ['a','b','c.d.e','c.d.f'] │
└───────────────────────────┘
distinctJSONPathsAndTypes
JSON カラムに格納されている異なるパスとその型のリストを計算します。
構文
distinctJSONPathsAndTypes(json)
引数
json
— JSON カラム。
返される値
- ソートされたパスと型のマップ Map(String, Array(String))。
例
クエリ:
DROP TABLE IF EXISTS test_json;
CREATE TABLE test_json(json JSON) ENGINE = Memory;
INSERT INTO test_json VALUES ('{"a" : 42, "b" : "Hello"}'), ('{"b" : [1, 2, 3], "c" : {"d" : {"e" : "2020-01-01"}}}'), ('{"a" : 43, "c" : {"d" : {"f" : [{"g" : 42}]}}}')
SELECT distinctJSONPathsAndTypes(json) FROM test_json;
結果:
┌─distinctJSONPathsAndTypes(json)───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ {'a':['Int64'],'b':['Array(Nullable(Int64))','String'],'c.d.e':['Date'],'c.d.f':['Array(JSON(max_dynamic_types=16, max_dynamic_paths=256))']} │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
注意
JSON 宣言に指定された型のパスが含まれている場合、入力データにこれらのパスの値が含まれていなくても、distinctJSONPaths/distinctJSONPathsAndTypes
関数の結果に常に含まれます。
DROP TABLE IF EXISTS test_json;
CREATE TABLE test_json(json JSON(a UInt32)) ENGINE = Memory;
INSERT INTO test_json VALUES ('{"b" : "Hello"}'), ('{"b" : "World", "c" : [1, 2, 3]}');
SELECT json FROM test_json;
┌─json──────────────────────────────────┐
│ {"a":0,"b":"Hello"} │
│ {"a":0,"b":"World","c":["1","2","3"]} │
└───────────────────────────────────────┘
SELECT distinctJSONPaths(json) FROM test_json;
┌─distinctJSONPaths(json)─┐
│ ['a','b','c'] │
└─────────────────────────┘
SELECT distinctJSONPathsAndTypes(json) FROM test_json;
┌─distinctJSONPathsAndTypes(json)────────────────────────────────┐
│ {'a':['UInt32'],'b':['String'],'c':['Array(Nullable(Int64))']} │
└────────────────────────────────────────────────────────────────┘