any
도입 버전: v1.1.0
컬럼에서 가장 먼저 발견된 값을 선택합니다.
기본적으로 이 함수는 NULL을 반환하지 않습니다. 즉, 입력 컬럼의 NULL 값은 무시합니다.
하지만 이 함수를 RESPECT NULLS 수정자와 함께 사용하면 NULL 여부와 관계없이 가장 먼저 읽은 값을 반환합니다.
구현 세부 정보
일부 경우에는 실행 순서를 신뢰할 수 있습니다.
이는 SELECT가 ORDER BY를 사용하는 하위 쿼리(subquery)에서 가져오는 경우에 해당합니다.
SELECT 쿼리에 GROUP BY 절이 있거나 집계 함수(aggregate function)가 하나 이상 있으면, ClickHouse는 MySQL과 달리 SELECT, HAVING, ORDER BY 절의 모든 표현식이 키 또는 집계 함수로부터 계산되어야 한다고 요구합니다.
즉, 테이블에서 선택한 각 컬럼은 키에 사용되거나 집계 함수 내부에서 사용되어야 합니다.
MySQL과 같은 동작을 얻으려면 다른 컬럼을 any 집계 함수에 넣으면 됩니다.
구문
any(column)[ RESPECT NULLS]별칭: any_value, first_value
인수
column— 컬럼 이름입니다.Any
반환 값
처음 나타나는 값을 반환합니다.
Any
예시
사용 예시
CREATE TABLE tab (city Nullable(String)) ENGINE=Memory;
INSERT INTO tab (city) VALUES (NULL), ('Amsterdam'), ('New York'), ('Tokyo'), ('Valencia'), (NULL);
SELECT any(city), anyRespectNulls(city) FROM tab;┌─any(city)─┬─anyRespectNulls(city)─┐
│ Amsterdam │ ᴺᵁᴸᴸ │
└───────────┴───────────────────────┘