aとbを使用して作成されたマップを返します。 aはマップ内のキーです。 bはマップ内のキーの値です。 マップ内のキーがnullの場合、キーは無視されます。 キーフィールドの値が重複している場合は、いずれかの値がランダムに保持されます。
使用上の注意
MaxCompute V2.0は追加機能を提供します。 使用する関数に新しいデータ型が含まれる場合は、MaxCompute V2.0データ型エディションを有効にする必要があります。 新しいデータ型には、TINYINT、SMALLINT、INT、FLOAT、VARCHAR、TIMESTAMP、およびBINARYが含まれます。
セッションレベル: MaxCompute V2.0データ型エディションを使用するには、実行するsql文の前に
set odps. SQL. type.system.odps2=true;
を追加し、一緒にコミットして実行する必要があります。プロジェクトレベル: プロジェクトの所有者は、プロジェクトの要件に基づいて、プロジェクトのMaxCompute V2.0データ型エディションを有効にできます。 設定は10〜15分後に有効になります。 サンプルコマンド:
setproject odps.sql.type.system.odps2=true;
setproject
の詳細については、「プロジェクト操作」をご参照ください。 プロジェクトレベルでMaxCompute V2.0データ型エディションを有効にする際の注意事項の詳細については、「データ型エディション」をご参照ください。
複数の集計関数を含むSQL文を使用していて、プロジェクトのリソースが不足している場合、メモリオーバーフローが発生する可能性があります。 ビジネス要件に基づいて、SQLステートメントを最適化するか、コンピューティングリソースを購入することを推奨します。
構文
map<K, V> map_agg(K a, V b);
パラメーター
a: マップのキーとして使用される入力フィールド。
b: マップの値として使用される入力フィールド。
戻り値
Aとbを使用して作成された新しいマップが返されます。
例
select map_agg(a, b) from
values (1L, 'apple'), (2L, 'hi'), (null, 'good'), (1L, 'pie') t(a, b);
次の応答が返されます。
+------------------------+
| _c0 |
+------------------------+
| {"2":"hi","1":"apple"} |
+------------------------+
関連関数
MAP_AGGは集計関数です。 複数の入力レコードの平均値の計算およびパラメーターの集計に使用される関数の詳細については、集計関数.