# SQL MIN AND MAX: cómo determinar valores mínimos y máximos

En SQL, `MIN AND MAX` es una función agregada con la que pueden determinarse los valores mínimos y máximos en conjuntos de datos, tablas y columnas. Se utiliza para optimizar y acelerar las consultas de datos y permite evaluarlos de forma eficaz para identificar tendencias, anomalías o procesos.

## ¿Qué es SQL `MIN AND MAX`?

SQL `MIN AND MAX` es una de las funciones agregadas de SQL. Sirve para realizar cálculos con valores numéricos o cadenas de texto y devuelve un único valor. En función de la consulta y los parámetros, permite **encontrar los valores mínimos y máximos** en conjuntos de datos, tablas, columnas o filas y comparar dichos valores entre sí.

Al **acelerar los análisis complejos de datos** de forma significativa, la función `MIN AND MAX` resulta indispensable en SQL. Permite filtrar rápidamente tablas de productos, precios o costes para obtener los valores mínimos y máximos o identificar anomalías. Dependiendo de los parámetros opcionales y las consultas, esta función se puede combinar con otros [comandos SQL](https://www.ionos.mx/digitalguide/servidores/configuracion/comandos-sql/) como [SQL WHERE](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-where/), [SQL JOIN](https://www.ionos.mx/digitalguide/hosting/cuestiones-tecnicas/sql-join/), `HAVING` o `GROUP BY`.

Consejo ¿Te gustaría saber más sobre [SQL](https://www.ionos.mx/digitalguide/servidores/know-how/que-es-sql/) pero nunca has utilizado este lenguaje de programación? En ese caso, echa un vistazo a nuestra [introducción a SQL](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-introduccion-con-ejemplos/): sus ejemplos son la base perfecta para aprender a usarlo.

## La sintaxis de SQL `MIN AND MAX`

La función MIN Y MAX puede emplearse para **realizar consultas sencillas de datos** y en combinación con otros [operadores de SQL](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-operators/) para **análisis complejos**.

Esta es su sintaxis:

```sql
MIN(columna o cadena de caracteres)
MAX(columna o cadena de caracteres)
```

Si quieres aplicar la función a determinados valores numéricos en conjuntos de datos, combina `MIN Y MAX` con los **comandos SQL `SELECT` y la cláusula `FROM`**. Estos permiten seleccionar la tabla deseada y las columnas o filas correspondientes de la siguiente manera:

```sql
SELECT  MIN(nombre_columna_o_cadena) FROM  nombre_tabla
MAX(columna_o_cadena)  FROM  nombre_tabla
```

La consulta se puede precisar mediante parámetros y comandos adicionales. Entre ellos destacan los siguientes:

- `DISTINCT`: elimina duplicados y filas repetidas en consultas de datos para obtener listas únicas.
- `WHERE`: excluye ciertos conjuntos de datos antes de filtrar con `MIN AND MAX` y se centra solo en los subconjuntos deseados.
- `GROUP BY`: agrupa los conjuntos de datos consultados en una o más columnas, por ejemplo, por región o categoría, y permite así analizar tendencias o patrones.
- `HAVING`: filtra resultados después de la agregación de valores mínimos y máximos. Muestra solo los resultados que cumplen ciertos criterios.
- `BETWEEN`: filtra los resultados dentro de ciertos rangos de valores cuando se combina con `MIN Y MAX`.
- `JOIN`: une los valores mínimos y máximos de una o más tablas en una tabla de destino.

## Posibles usos de SQL `MIN AND MAX`

La función `MIN AND MAX` se puede utilizar en SQL en diferentes casos y casi de manera ilimitada, sobre todo combinada con otros parámetros. Estos son algunos de sus usos:

- filtrar los precios más altos y más bajos en tablas de productos,
- determinar los archivos más grandes y más pequeños;
- analizar salarios de empleados;
- visualizar la frecuencia de cadenas, palabras o valores en un conjunto de datos;
- detectar anomalías mediante la superación o el incumplimiento de valores promedio o umbrales;
- identificar picos o defectos de rendimiento;
- determinar tendencias basadas en valores promedio e informes por región, equipo, categoría de producto o servicio;
- analizar inventarios y productos;
- limitar análisis de datos en grandes conjuntos de datos.

Consejo Si quieres tener una gestión de datos potente, es esencial contar con una solución de hosting adecuada para sistemas de gestión de bases de datos. En el [Hosting SQL Server](https://www.ionos.es/cloud/sql-server-hosting) de IONOS puedes encontrar ofertas adaptadas a tus necesidades que te proporcionarán tiempos de acceso rápidos, un alto rendimiento, una alta disponibilidad y seguridad de los datos conforme a los estándares alemanes.

## Ejemplos de SQL `MIN AND MAX`

Para simplificar el uso de SQL `MIN AND MAX` hemos preparado varios ejemplos que aplicamos a una tabla de productos con sus precios. Ten en cuenta que para nombrar la columna para `MIN` o `MAX` en la tabla de destino, debes utilizar en el código AS con el nombre de columna que quieras.

Tabla de ejemplo:

<table>
  <thead>
    <tr>
      <th>Producto</th>
      <th>Precio</th>
      <th>Categoría</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Champú</td>
      <td>22,90 €</td>
      <td>Cabello</td>
    </tr>
    <tr>
      <td>Jabón de manos</td>
      <td>45,99 €</td>
      <td>Manos</td>
    </tr>
    <tr>
      <td>Crema para pies</td>
      <td>11,99 €</td>
      <td>Pies</td>
    </tr>
    <tr>
      <td>Loción corporal</td>
      <td>9,99 €</td>
      <td>Cuerpo</td>
    </tr>
  </tbody>
</table>

Si quieres determinar el **producto con el precio más bajo o más alto** en la tabla de productos y mostrarlo en una sola línea, debes escribir lo siguiente:

`MIN`:

```sql
SELECT  MIN(precio)  FROM  productos;
```

`MAX`:

```sql
SELECT  MAX(precio)  FROM  productos;
```

Si quieres determinar ambos valores en la tabla de destino, utiliza esta sintaxis y define la columna con los valores mínimo y máximo utilizando “AS”:

```sql
SELECT  MIN(precio)  AS  precio_min,  MAX(precio)  AS  precio_max  FROM  productos
```

Si combinas la función con otros comandos y parámetros, puedes refinar tu consulta o limitarla a categorías específicas. Para mostrar los valores mínimos y máximos que figuran en una categoría de producto, debes utilizar además el comando SQL `GROUP BY`:

```sql
SELECT  categoría,
MIN(precio)  AS precio_min,  MAX(precio)  AS  precio_max
FROM  productos
GROUP BY  categoría
```

A continuación, verás los valores más bajos y más altos en la tabla de destino **ordenados por categoría de producto**.

Si se combinan con SQL `HAVING`, `MIN AND MAX` permiten filtrar los valores obtenidos **según una condición definida**. Por ejemplo, en una tabla de productos, es posible establecer que los valores mínimos de una categoría no se incluyan en los resultados si están por debajo de un valor determinado. Este ejemplo se escribiría así:

```sql
SELECT  categoría,
MAX(precio)  AS  precio_max
FROM  productos
GROUP BY  categoría
HAVING MIN(precio)>10;
```

Por lo tanto, en nuestra tabla de ejemplo, la loción corporal de 9,99 € no pertenecería a la tabla de destino.

## Alternativas a SQL `MIN AND MAX`

Dado que SQL `MIN AND MAX` son funciones de agregación, existen otras funciones similares que se pueden utilizar para calcular valores agregados. Algunas de ellas son:

- `AVG`: mediante [SQL AVG](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-avg/) se filtran valores promedio de tablas o columnas seleccionadas, como las temperaturas medias de los meses de un año.
- `COUNT`: con [SQL COUNT](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-count/) se puede contar el número de elementos en una tabla o columna concreta.
- `SUM`: mediante [SQL SUM](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-sum/) se obtiene la suma de todos los valores en una columna específica.
- `BETWEEN`: con [SQL BETWEEN](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-between/) se pueden analizar los datos de un intervalo de valores definido.
- `LIKE`: el operador [SQL LIKE](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-like/) devuelve valores numéricos o cadenas de caracteres que se corresponden con un patrón predefinido con o sin comodines.


This is a markdown version of: [https://www.ionos.mx/digitalguide/servidores/configuracion/sql-min-and-max/](https://www.ionos.mx/digitalguide/servidores/configuracion/sql-min-and-max/) for AI/LLM consumption.