# MIN

MIN é uma função de agregação que calcula o valor mínimo de uma expressão para um conjunto de valores (consulte Agregações (funções de conjunto)). MIN é permitido apenas nas expressões que têm como resultado tipos de dado nativos (incluindo CHAR, VARCHAR, DATE, TIME, etc.).

#### Sintaxe

    MIN ( [ DISTINCT | ALL ] Expressão )

Os qualificadores DISTINCT e ALL eliminam ou retêm linhas duplicadas, mas estes qualificadores não produzem efeito na função MIN. Somente é permitida uma expressão de agregação DISTINCT por ExpressãoSeleção. Por exemplo, a seguinte consulta não é permitida:

    SELECT COUNT (DISTINCT TEMPO_VÔO), MIN (DISTINCT MILHAS)
    FROM VÔOS

A Expressão pode conter várias referências a colunas ou expressões, mas não pode conter outra agregação ou subconsulta. Deve ter como resultado um tipo de dado nativo. Portanto, podem ser chamados métodos que têm como resultado tipos de dado nativos (Por exemplo, um método que retorna java.lang.Integer ou int tem como resultado um INTEGER.) Se uma expressão for avaliada como NULL, a agregação saltará este valor.

As regras de comparação do tipo determinam o valor máximo. Para CHAR, VARCHAR e LONG VARCHAR, o número de espaços em branco no final do valor pode afetar o resultado.

O tipo de dado do resultado é idêntico ao da expressão em que opera (nunca estoura).

    -- não é válido:
    SELECT DISTINCT TEMPO_VÔO, MIN(DISTINCT MILHAS) FROM VÔOS

    -- não é válido:
    SELECT COUNT(DISTINCT TEMPO_VÔO), MIN(DISTINCT MILHAS) FROM VÔOS

    -- encontrar a data mais próxima:
    SELECT MIN (DATA_VÔO) FROM DISPONIBILIDADE_VÔO;

Tópico pai: Funções nativas