Retorna o nome da maior partição de nível 1 com dados em uma tabela particionada e lê os dados dessa partição. A classificação das partições segue a ordem alfabética.
Observações de uso
MAX_PTavalia apenas partições de nível 1. Em tabelas com vários níveis de partição, use uma subconsulta SQL padrão.Se todas as partições da tabela estiverem vazias,
MAX_PTretornará um erro. Certifique-se de que pelo menos uma partição contenha dados antes de chamar essa função.Tabelas externas do OSS aceitam
MAX_PTcom o mesmo comportamento das tabelas internas.-
O MaxCompute não oferece a função
MIN_PT. Para obter a menor partição, use:SELECT * FROM table WHERE pt = (SELECT MIN(pt) FROM table);
Sintaxe
MAX_PT(<table_full_name>)
Parâmetros
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
|
|
Sim |
STRING |
Nome completo da tabela. São necessárias permissões de leitura na tabela. |
Valor de retorno
Nome da maior partição de nível 1 que contém dados.
Partições criadas com ALTER TABLE sem dados são excluídas do resultado.
Exemplos
Consultar a partição mais recente
A tabela tbl tem duas partições — 20120901 e 20120902 — ambas com dados.
SELECT * FROM tbl WHERE pt = MAX_PT('tbl');
Essa consulta retorna dados da partição 20120902. A instrução acima equivale a:
SELECT * FROM tbl WHERE pt = (SELECT MAX(pt) FROM tbl);
Consultar partições multinível
MAX_PT funciona apenas com partições de nível 1. Em tabelas com vários níveis de partição, use subconsultas SQL padrão:
SELECT * FROM table
WHERE pt1 = (SELECT MAX(pt1) FROM table)
AND pt2 = (SELECT MAX(pt2) FROM table WHERE pt1 = (SELECT MAX(pt1) FROM table));