generate_series 테이블 함수

generate_series 테이블 함수 (generate_series)

START부터 STOP까지의 정수 시퀀스를 담은 테이블을 반환하는 함수예요. 별칭은 generateSeries입니다.

출처: 문서

본문

별칭: generateSeries

구문

START부터 STOP까지(포함)의 정수를 담은 단일 generate_series 컬럼(UInt64)을 갖는 테이블을 반환합니다:

generate_series(START, STOP)

START부터 STOP까지(포함)의 정수를 STEP 간격으로 담은 단일 generate_series 컬럼(UInt64)을 갖는 테이블을 반환합니다:

generate_series(START, STOP, STEP)

STEP은 음수일 수 있습니다. 이 경우 START부터 STOP까지 내림차순으로 시리즈가 생성됩니다. STEP이 음수이고 START < STOP이면 결과는 비어 있습니다.

예제

다음 쿼리들은 같은 내용이지만 다른 컬럼 이름을 가진 테이블을 반환합니다:

SELECT * FROM numbers(10, 5);
┌─number─┐
│     10 │
│     11 │
│     12 │
│     13 │
│     14 │
└────────┘
SELECT * FROM generate_series(10, 14);
┌─generate_series─┐
│              10 │
│              11 │
│              12 │
│              13 │
│              14 │
└─────────────────┘

그리고 다음 쿼리들은 같은 내용이지만 다른 컬럼 이름을 가진 테이블을 반환합니다(단, 두 번째 옵션이 더 효율적입니다):

SELECT * FROM numbers(10, 11) WHERE number % 3 == (10 % 3);
┌─number─┐
│     10 │
│     13 │
│     16 │
│     19 │
└────────┘
SELECT * FROM generate_series(10, 20, 3);
┌─generate_series─┐
│              10 │
│              13 │
│              16 │
│              19 │
└─────────────────┘

내림차순 시리즈 생성하기:

SELECT * FROM generate_series(9, 0, -1);
┌─generate_series─┐
│               9 │
│               8 │
│               7 │
│               6 │
│               5 │
│               4 │
│               3 │
│               2 │
│               1 │
│               0 │
└─────────────────┘

더 알아보기 (Learn more)