distinctJSONPaths
distinctJSONPaths
JSON 컬럼에 저장된 서로 다른 경로(path)들의 목록을 계산하는 집계 함수예요. 정렬된 경로 배열로 반환됩니다.
출처: 문서
본문
도입 버전: v24.9.0
JSON 컬럼에 저장된 서로 다른 경로들의 목록을 계산합니다.
구문 (Syntax)
distinctJSONPaths(json)
인자 (Arguments)
json— JSON 컬럼.JSON
반환 값
정렬된 경로 목록을 반환합니다. Array(String)
예제
중첩 JSON과 함께 사용한 기본 예제
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'] │
└───────────────────────────┘
선언된 JSON 경로와 함께 사용
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'] │
└───────────────────────────┘