Проблем:
Искате да намерите редове, които съхраняват най-малката числова стойност в колона.
Пример:
Нашата база данни има таблица с име 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) ).