Problema:
Desea encontrar filas que almacenen el valor numérico más pequeño en una columna.
Ejemplo:
Nuestra base de datos tiene una tabla llamada weather
con datos en las siguientes columnas:id
, city
y temperature
.
id | ciudad | temperatura |
---|---|---|
1 | Houston | 23 |
2 | Atlanta | 20 |
3 | Bostón | 15 |
4 | Cleveland | 15 |
5 | Dallas | 34 |
6 | Austin | 28 |
Aquí se explica cómo encontrar ciudades con la temperatura más baja.
Solución:
SELECT id, city, temperature FROM weather WHERE temperature = (SELECT MIN(temperature) FROM weather);
Aquí está el resultado:
id | ciudad | temperatura |
---|---|---|
3 | Bostón | 15 |
4 | Cleveland | 15 |
Discusión:
Para encontrar el valor mínimo de una columna, use MIN()
función agregada; toma el nombre de la columna o expresión para encontrar el valor mínimo. En nuestro ejemplo, la subconsulta devuelve el valor mínimo en la temperature
columna (subconsulta:SELECT MIN(temperature) FROM weather
). La consulta principal muestra id, ciudad y temperatura. Para mostrar solo filas con valores mínimos en la columna, use WHERE con una subconsulta (por ejemplo, SELECT MIN(temperature) FROM weather
). En la cláusula WHERE, coloque el nombre de la columna con el valor relativo que se comparará con el valor devuelto por la función agregada en la subconsulta (WHERE temperature = (SELECT MIN(temperature) FROM weather)
).