별칭: generateSeries
구문
start부터 stop까지의 정수를 양 끝값을 포함하여 담은 단일 'generate_series' 컬럼(UInt64)이 있는 테이블을 반환합니다:
generate_series(START, STOP)STEP으로 지정된 간격으로 start부터 stop까지(양 끝값 포함)의 정수를 담은 단일 generate_series 컬럼(UInt64)이 있는 테이블(table)을 반환합니다:
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 │
└─────────────────┘