mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-13 09:52:38 +00:00
85 lines
2.6 KiB
Markdown
85 lines
2.6 KiB
Markdown
|
---
|
||
|
slug: /en/sql-reference/aggregate-functions/reference/distinctjsonpaths
|
||
|
sidebar_position: 216
|
||
|
---
|
||
|
|
||
|
# distinctJSONPaths
|
||
|
|
||
|
Calculates the list of distinct paths stored in [JSON](../../data-types/newjson.md) column.
|
||
|
|
||
|
**Syntax**
|
||
|
|
||
|
```sql
|
||
|
distinctJSONPaths(json)
|
||
|
```
|
||
|
|
||
|
**Arguments**
|
||
|
|
||
|
- `json` — [JSON](../../data-types/newjson.md) column.
|
||
|
|
||
|
**Returned Value**
|
||
|
|
||
|
- The sorted list of paths [Array(String)](../../data-types/array.md).
|
||
|
|
||
|
**Example**
|
||
|
|
||
|
Query:
|
||
|
|
||
|
```sql
|
||
|
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}]}}}')
|
||
|
```
|
||
|
|
||
|
```sql
|
||
|
SELECT distinctJSONPaths(json) FROM test_json;
|
||
|
```
|
||
|
|
||
|
Result:
|
||
|
|
||
|
```reference
|
||
|
┌─distinctJSONPaths(json)───┐
|
||
|
│ ['a','b','c.d.e','c.d.f'] │
|
||
|
└───────────────────────────┘
|
||
|
```
|
||
|
|
||
|
# distinctJSONPathsAndTypes
|
||
|
|
||
|
Calculates the list of distinct paths and their types stored in [JSON](../../data-types/newjson.md) column.
|
||
|
|
||
|
**Syntax**
|
||
|
|
||
|
```sql
|
||
|
distinctJSONPathsAndTypes(json)
|
||
|
```
|
||
|
|
||
|
**Arguments**
|
||
|
|
||
|
- `json` — [JSON](../../data-types/newjson.md) column.
|
||
|
|
||
|
**Returned Value**
|
||
|
|
||
|
- The sorted map of paths and types [Map(String, Array(String))](../../data-types/map.md).
|
||
|
|
||
|
**Example**
|
||
|
|
||
|
Query:
|
||
|
|
||
|
```sql
|
||
|
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}]}}}')
|
||
|
```
|
||
|
|
||
|
```sql
|
||
|
SELECT distinctJSONPathsAndTypes(json) FROM test_json;
|
||
|
```
|
||
|
|
||
|
Result:
|
||
|
|
||
|
```reference
|
||
|
┌─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))']} │
|
||
|
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
||
|
```
|