Todos os produtos
Search
Central de documentação

MaxCompute:COMBINATIONS

Última atualização: Sep 17, 2026

Retorna um array com todas as combinações de n elementos de um array de entrada.

Sintaxe

combinations(array(T), n)

Parâmetros

  • array: O array de entrada.

  • n: O número de elementos em cada combinação.

Valor de retorno

Retorna um array que contém todas as combinações de n elementos do array de entrada.

  • Se o array de entrada não contiver elementos duplicados, a função retornará um array de subconjuntos de n elementos. A saída é determinística, mas não há garantia quanto à ordem dos subconjuntos ou dos elementos internos.

  • Por padrão, o valor de n não pode ser maior que 5, e o número total de combinações geradas não pode exceder 100.000. Para alterar esses limites, defina os parâmetros odps.sql.max.combination.length e odps.sql.max.combinations.

  • Se n for maior que o número de elementos no array de entrada, a função retornará um array vazio.

Exemplos

  • Exemplo 1: Array do tipo STRING.

    SELECT combinations(array('foo', 'bar', 'boo'),2);

    Resultado retornado:

    [['foo', 'bar'],['foo', 'boo'],['bar', 'boo']]
  • Exemplo 2: Array de tipo numérico.

    SELECT combinations(array(1,2,3,4,5),3);

    Resultado retornado:

    [[1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4], [1, 2, 5], [1, 3, 5], [2, 3, 5], [1, 4, 5], [2, 4, 5], [3, 4, 5]]
  • Exemplo 3: Array com elementos duplicados.

    SELECT combinations(array(1,2,2),2);

    Resultado retornado:

    [[1,2], [1,2], [2,2]]	

Funções relacionadas

COMBINATIONS é uma função de tipo complexo. Para obter mais informações sobre funções que processam tipos de dados complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.