본문으로 바로가기
본문으로 바로가기

any

any

도입 버전: v1.1

컬럼에서 처음으로 발견된 값을 선택합니다.

참고

쿼리는 임의의 순서로 실행될 수 있으므로 이 함수의 결과는 비결정적입니다. 임의이면서도 결정적인 결과가 필요하다면 min 또는 max 함수를 사용하십시오.

기본적으로 이 함수는 NULL을 절대 반환하지 않으며, 입력 컬럼에서 NULL 값을 무시합니다. 하지만 함수가 RESPECT NULLS 수정자와 함께 사용되면, NULL 여부와 관계없이 처음 읽은 값을 반환합니다.

구현 세부 정보

일부 경우에는 실행 순서에 의존할 수 있습니다. 이는 ORDER BY를 사용하는 서브쿼리에서 SELECT가 수행되는 경우에 해당합니다.

SELECT 쿼리에 GROUP BY 절이나 적어도 하나의 집계 함수가 포함된 경우, ClickHouse는( MySQL과 달리) SELECT, HAVING, ORDER BY 절에 있는 모든 표현식이 키 또는 집계 함수로부터 계산되도록 요구합니다. 즉, 테이블에서 선택된 각 컬럼은 키로 사용되거나 집계 함수 내부에서 사용되어야 합니다. MySQL과 같은 동작이 필요하다면, 다른 컬럼들을 any 집계 함수에 넣으면 됩니다.

참고

함수의 반환 타입은 LowCardinality를 제외하면 입력과 동일하며, LowCardinality는 제거됩니다. 이는 입력으로 들어온 행이 하나도 없으면 해당 타입의 기본값을 반환한다는 의미입니다(정수의 경우 0, Nullable() 컬럼의 경우 Null). 이 동작을 변경하려면 -OrNull 조합자를 사용할 수 있습니다.

구문

any(column)[ RESPECT NULLS]

별칭(Aliases): any_value, first_value

인수(Arguments)

  • column — 컬럼 이름. Any

반환값(Returned value)

처음으로 나타나는 값을 반환합니다. Any

예제(Examples)

사용 예제(Usage example)

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 │ ᴺᵁᴸᴸ                  │
└───────────┴───────────────────────┘