mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-19 12:52:37 +00:00
3.6 KiB
3.6 KiB
slug | sidebar_position |
---|---|
/ja/sql-reference/aggregate-functions/reference/grouparrayinsertat | 140 |
groupArrayInsertAt
指定された位置に値を配列に挿入します。
構文
groupArrayInsertAt(default_x, size)(x, pos)
1つのクエリで同じ位置に複数の値が挿入された場合、関数は次のように動作します:
- クエリが単一スレッドで実行される場合、挿入された値のうち最初のものが使用されます。
- クエリが複数スレッドで実行される場合、結果として得られる値は挿入された値の中から不確定のものです。
引数
x
— 挿入される値。サポートされているデータ型の1つの式。pos
— 指定された要素x
を挿入する位置。配列のインデックス番号はゼロから始まります。UInt32。default_x
— 空の位置に代入するためのデフォルト値。オプションのパラメータ。式でx
パラメータに設定されたデータ型を結果とします。default_x
が定義されていない場合、デフォルト値が使用されます。size
— 結果となる配列の長さ。オプションのパラメータ。このパラメータを使用する場合、デフォルト値default_x
を指定する必要があります。UInt32。
返される値
- 挿入された値を含む配列。
型: Array。
例
クエリ:
SELECT groupArrayInsertAt(toString(number), number * 2) FROM numbers(5);
結果:
┌─groupArrayInsertAt(toString(number), multiply(number, 2))─┐
│ ['0','','1','','2','','3','','4'] │
└───────────────────────────────────────────────────────────┘
クエリ:
SELECT groupArrayInsertAt('-')(toString(number), number * 2) FROM numbers(5);
結果:
┌─groupArrayInsertAt('-')(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2','-','3','-','4'] │
└────────────────────────────────────────────────────────────────┘
クエリ:
SELECT groupArrayInsertAt('-', 5)(toString(number), number * 2) FROM numbers(5);
結果:
┌─groupArrayInsertAt('-', 5)(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2'] │
└───────────────────────────────────────────────────────────────────┘
1つの位置に対するマルチスレッド挿入。
クエリ:
SELECT groupArrayInsertAt(number, 0) FROM numbers_mt(10) SETTINGS max_block_size = 1;
このクエリの結果として [0,9]
範囲のランダムな整数が得られます。例:
┌─groupArrayInsertAt(number, 0)─┐
│ [7] │
└───────────────────────────────┘