> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# group_by_* 세션 설정

> group_by_* 그룹에 속한 ClickHouse 세션 설정입니다.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>유형</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>기본값</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          재시작 없이 변경 가능
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

이 설정은 [system.settings](/docs/ko/reference/system-tables/settings)에서 사용할 수 있으며 [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp)로부터 자동 생성됩니다.

<div id="group_by_overflow_mode">
  ## group\_by\_overflow\_mode
</div>

<SettingsInfoBlock type="OverflowModeGroupBy" default_value="throw" />

집계 시 고유 키 수가 한도를 초과하면 어떻게 처리할지 설정합니다.

* `throw`: 예외를 발생시킵니다
* `break`: 쿼리 실행을 중지하고 부분 결과를 반환합니다
* `any`: Set에 포함된 키에 대해서는 집계를 계속하지만, 새로운 키는 Set에 추가하지 않습니다.

`any` 값을 사용하면 GROUP BY의 근사치를 계산할 수 있습니다. 이 근사의 품질은
데이터의 통계적 특성에 따라 달라집니다.

<div id="group_by_two_level_threshold">
  ## group\_by\_two\_level\_threshold
</div>

<SettingsInfoBlock type="UInt64" default_value="100000" />

키 개수가 이 수에 도달하면 2단계 집계가 시작됩니다. 0이면 임계값이 설정되지 않습니다.

<div id="group_by_two_level_threshold_bytes">
  ## group\_by\_two\_level\_threshold\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="50000000" />

집계 상태의 크기가 몇 바이트부터 2단계 집계를 사용하기 시작할지 지정합니다. 0은 임계값이 설정되지 않았음을 의미합니다. 임계값 중 하나 이상이 충족되면 2단계 집계가 사용됩니다.

<div id="group_by_use_nulls">
  ## group\_by\_use\_nulls
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

[GROUP BY 절](/docs/ko/reference/statements/select/group-by)이 집계 키의 타입을 처리하는 방식을 변경합니다.
`ROLLUP`, `CUBE`, 또는 `GROUPING SETS` 지정자를 사용하면 일부 집계 키가 일부 결과 행을 생성하는 데 사용되지 않을 수 있습니다.
이러한 키의 컬럼은 이 설정에 따라 해당 행에서 기본값 또는 `NULL`로 채워집니다.

Possible values:

* 0 — 누락된 값을 생성할 때 집계 키 타입의 기본값을 사용합니다.
* 1 — ClickHouse는 SQL 표준에 정의된 방식과 동일하게 `GROUP BY`를 실행합니다. 집계 키의 타입은 [널 허용](/docs/ko/reference/data-types/nullable)으로 변환됩니다. 해당 집계 키의 컬럼은 이 키가 사용되지 않은 행에서 [NULL](/docs/ko/reference/syntax#null)로 채워집니다.

관련 항목:

* [GROUP BY 절](/docs/ko/reference/statements/select/group-by)
