Проблем:
Искате да намерите редове, които съхраняват най-малката числова стойност в колона.
Пример:
Нашата база данни има таблица с име weather
с данни в следните колони:id
, city
и temperature
.
id | град | температура |
---|---|---|
1 | Хюстън | 23 |
2 | Атланта | 20 |
3 | Бостън | 15 |
4 | Кливланд | 15 |
5 | Далас | 34 |
6 | Остин | 28 |
Ето как да намерите градове с най-ниска температура.
Решение:
SELECT id, city, temperature FROM weather WHERE temperature = (SELECT MIN(temperature) FROM weather);
Ето резултата:
id | град | температура |
---|---|---|
3 | Бостън | 15 |
4 | Кливланд | 15 |
Дискусия:
За да намерите минималната стойност на колона, използвайте MIN()
агрегатна функция; той взема името на колоната или израза, за да намери минималната стойност. В нашия пример подзаявката връща минималната стойност в temperature
колона (подзаявка:SELECT MIN(temperature) FROM weather
). ). Основната заявка показва идентификатор, град и температура. За да покажете само редове с минимални стойности в колоната, използвайте WHERE с подзаявка (напр. SELECT MIN(temperature) FROM weather
). В клаузата WHERE поставете името на колоната с относителната стойност, която трябва да бъде сравнена със стойността, върната от агрегатната функция в подзаявката (WHERE temperature = (SELECT MIN(temperature) FROM weather)
).