Funciones SQL Min y Max

Funciones SQL Min y Max
Ya sea que trabaje con ANSI SQL u otros sabores SQL, seguramente se encontrará con las funciones min () y max () en operaciones agregadas. Son algunas de las funciones esenciales para tareas simples y operaciones de agregación complejas. Este artículo explorará lo que hace cada función, su sintaxis correspondiente y ejemplos prácticos de cuándo usar estas funciones. Nota: Este tutorial ilustrará cómo usar estas funciones en ANSI SQL, también conocido como SQL estándar. Sin embargo, deben realizar acciones similares incluso en otros sabores SQL.

Función sql min ()

Comencemos con la función min (). Esta función le permite obtener el valor más pequeño en un conjunto de valores dados. Puede proporcionar los valores de entrada como una columna numérica o un resultado de una expresión que devuelve un valor numérico.

La función min () es una función agregada y devuelve un solo valor numérico de una entrada dada.

La sintaxis de la función se puede expresar como se muestra:

Min (expresión)

La función acepta un solo argumento como una expresión o un conjunto de columnas dada.

Tome el ejemplo a continuación:

SELECCIONAR
Min (x) como el más pequeño
DE
Unnest ([100, 102, 2, 233, 11, 12]) como x;

Ejecutar el código anterior debe devolver el valor más pequeño de la matriz dada.

más pequeño |
--------+
2 |

Funciones sql max ()

Como su nombre indica, la función max () le permite obtener el número más grande en un conjunto dado de valores numéricos. Del mismo modo, puede pasar el conjunto de valores como una columna numérica o un resultado de una expresión dada que devuelve un valor numérico.

La sintaxis de la función es como se muestra:

Max (expresión)

Considere el ejemplo a continuación:

SELECCIONAR
Max (x) como más grande
DE
Unnest ([100, 102, 2, 233, 11, 12]) como x;

El código anterior debe obtener el valor más grande de la matriz dada. Una salida de ejemplo es como se muestra:

más grande |
-------+
233 |

Data de muestra

Usemos los datos mundiales precisos mejor para ilustrar varios usos de las funciones MIN y Max. Tome los datos de ejemplo que se muestran a continuación:

Crear base de datos local_db;
Usar local_db;
Crear bases de datos de tabla (
ID int no identidad nula (1,1) clave principal,
server_name varchar (50),
server_address varchar (255) no nulo,
compresion_method varchar (100) predeterminado 'ninguno',
size_on_disk float no nulo,
size_compreted flotante,
Total_records int no nulo
);
Insertar en bases de datos (server_name, server_address, compresion_method, size_on_disk, size_comprised, 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);
Seleccionar * de bases de datos;

Nota: Los datos anteriores son puramente ficticios y no representan capacidades de base de datos o relación de compresión.

Tabla de salida:

Ejemplo 1 - Uso de funciones Min y Max en una sola columna

Podemos usar las funciones Min y Max en una columna de tabla determinada para obtener el valor más pequeño y más grande de la columna, respectivamente.

Por ejemplo, para obtener la base de datos con el tamaño más pequeño en el disco, podemos ejecutar la consulta como:

SELECCIONAR
Min (size_on_disk) como Smallest_Size
DE
Bases de datos;

La consulta de arriba debe devolver el tamaño más pequeño de la columna size_on_disk, como se muestra en la salida a continuación:

Smallest_Size |
-------------+
3.55 |

Para el tamaño más grande, use la función máxima:

SELECCIONAR
Max (size_on_disk) como más grande
DE
Bases de datos;

Resultado:

mayor_size |
------------+
333.2 |

Ejemplo 2 - Uso de funciones min y max con grupo por

También podemos incluir otras columnas utilizando el grupo por función cuando trabajamos con una función agregada.

Por ejemplo, para mostrar el server_name:

SELECCIONAR
Max (size_on_disk) como más grande,
nombre del servidor
DE
Bases de datos
Grupo por server_name;

El grupo por cláusula es instrumental cuando clasifica los datos en particiones específicas y encuentra un valor mínimo o máximo de cada división.

Ejemplo 3 - Uso de Min y Max en la misma consulta

También podemos usar dos funciones agregadas en la misma consulta, como se muestra en la salida a continuación:

SELECCIONAR
Max (size_on_disk) como más grande,
Min (size_on_disk) como Smallest_Size
DE
Bases de datos;

Una salida de ejemplo es como se muestra:

más grande_size | Smallest_Size |
------------+-------------+
333.2 | 3.55 |

Ejemplo 4 - Combinando funciones min y max con la cláusula para tener

El siguiente ejemplo muestra cómo usar las funciones min y max () para filtrar los resultados utilizando la cláusula para tener.

Seleccione server_name, max (total_records) como más grande
Desde el grupo de bases de datos por server_name que tiene max (total_records) = 100000;

Salida resultante:

server_name | más grande |
-----------+-------+
Redis | 100000 |

Clausura

En esta publicación, exploramos ampliamente cómo usar las funciones min y max () en SQL. También discutimos ejemplos prácticos del uso de estas dos funciones en sus aplicaciones.