Funções SQL Min e Max

Funções SQL Min e Max
Seja trabalhando com ANSI SQL ou outros sabores SQL, você deve encontrar as funções min () e max () em operações agregadas. São algumas das funções essenciais para tarefas simples e operações de agregação complexas. Este artigo explorará o que cada função faz, sua sintaxe correspondente e exemplos práticos de quando usar essas funções. NOTA: Este tutorial ilustrará como usar essas funções no ANSI SQL, também conhecido como SQL STANDAR. No entanto, eles devem executar ações semelhantes, mesmo em outros sabores SQL.

Função sql min ()

Vamos começar com a função min (). Esta função permite buscar o menor valor em um conjunto de valores determinados. Você pode fornecer os valores de entrada como uma coluna numérica ou resultado de uma expressão que retorna um valor numérico.

A função min () é uma função agregada e retorna um único valor numérico de uma determinada entrada.

A sintaxe da função pode ser expressa como mostrado:

Min (expressão)

A função aceita um único argumento como uma expressão ou um determinado conjunto de colunas.

Veja o exemplo abaixo:

Selecione
Min (x) como menor
DE
mais desnecessário ([100, 102, 2, 233, 11, 12]) como x;

A execução do código acima deve retornar o menor valor da matriz fornecida.

menor |
--------+
2 |

Funções SQL Max ()

Como o nome sugere, a função max () permite obter o maior número em um determinado conjunto de valores numéricos. Da mesma forma, você pode passar no conjunto de valores como uma coluna numérica ou resultado de uma determinada expressão que retorna um valor numérico.

A sintaxe da função é como mostrado:

Max (expressão)

Considere o exemplo abaixo:

Selecione
Max (x) como maior
DE
mais desnecessário ([100, 102, 2, 233, 11, 12]) como x;

O código acima deve buscar o maior valor da matriz fornecida. Um exemplo de saída é como mostrado:

Maior |
-------+
233 |

Dados de amostra

Vamos usar os dados do mundo precisos melhor para ilustrar vários usos das funções MIN e Max. Veja os dados de exemplo mostrados abaixo:

Criar banco de dados local_db;
Use local_db;
Crie bancos de dados de tabela (
Id int não identidade nula (1,1) Chave primária,
Server_name Varchar (50),
Server_address Varchar (255) não nulo,
compressão_method Varchar (100) padrão 'nenhum',
size_on_disk float não nulo,
Size_Compressed Float,
Total_records int não nulo
);
Inserir em bancos de dados (Server_name, Server_address, compressão_method, size_on_disk, size_compressed, total_records)
Valores ('mysql', 'localhost: 3306', 'lz77', 90.66, 40.04, 560000),
('Redis', 'localhost: 6307', 'Snappy', 3.55, 998.2, 100000),
('PostGresql', 'localhost: 5432', 'PGLZ', 101.2, 98.01, 340000),
('Elasticsearch', 'localhost: 9200', 'lz4', 333.2, 300.2, 1200000),
('MongoDB', 'Localhost: 27017', 'Snappy', 4.55, 4.10, 620000),
('Apache Cassandra', 'localhost: 9042', 'Zstd', 300.3, 200.12, 10000000);
Selecione * nos bancos de dados;

Nota: Os dados acima são puramente fictícios e não representam recursos reais de banco de dados ou taxa de compactação.

Tabela de saída:

Exemplo 1 - Usando funções MIN e Max em coluna única

Podemos usar as funções MIN e Max em uma determinada coluna de tabela para buscar o menor e o maior valor da coluna, respectivamente.

Por exemplo, para obter o banco de dados com o menor tamanho no disco, podemos executar a consulta como:

Selecione
Min (size_on_disk) como menor_size
DE
Bancos de dados;

A consulta acima deve retornar o menor tamanho da coluna size_on_disk, conforme mostrado na saída abaixo:

menor_size |
-------------+
3.55 |

Para o maior tamanho, use a função máxima:

Selecione
Max (size_on_disk) como maior_size
DE
Bancos de dados;

Resultado:

maior_size |
------------+
333.2 |

Exemplo 2 - Usando funções min e max com grupo por

Também podemos incluir outras colunas usando o grupo por função ao trabalhar com uma função agregada.

Por exemplo, para mostrar o servidor_name:

Selecione
Max (size_on_disk) como maior_size,
nome do servidor
DE
Bancos de dados
Grupo por server_name;

O grupo por cláusula é fundamental quando você categoriza dados em partições específicas e encontra um valor mínimo ou máximo de cada divisão.

Exemplo 3 - Usando MIN e Max na mesma consulta

Também podemos usar duas funções agregadas na mesma consulta, conforme mostrado na saída abaixo:

Selecione
Max (size_on_disk) como maior_size,
Min (size_on_disk) como menor_size
DE
Bancos de dados;

Um exemplo de saída é como mostrado:

Maior_size | Menorst_size |
------------+-------------+
333.2 | 3.55 |

Exemplo 4 - Combinando as funções Min e Max com a cláusula de ter

O exemplo abaixo mostra como usar as funções Min e Max () para filtrar os resultados usando a cláusula de ter.

Selecione Server_name, max (total_records) como maior
Do grupo de bancos de dados por server_name com max (total_records) = 100000;

Saída resultante:

Server_name | Maior |
-----------+-------+
Redis | 100000 |

Fechamento

Neste post, exploramos extensivamente como usar as funções MIN e Max () em SQL. Também discutimos exemplos práticos de usar essas duas funções em seus aplicativos.