Problém:
Chcete najít řádky, které ukládají nejmenší číselnou hodnotu ve sloupci.
Příklad:
Naše databáze obsahuje tabulku s názvem weather s údaji v následujících sloupcích:id , city a temperature .
| id | město | teplota |
|---|---|---|
| 1 | Houston | 23 |
| 2 | Atlanta | 20 |
| 3 | Boston | 15 |
| 4 | Cleveland | 15 |
| 5 | Dallas | 34 |
| 6 | Austin | 28 |
Zde je návod, jak najít města s nejnižší teplotou.
Řešení:
SELECT id, city, temperature FROM weather WHERE temperature = (SELECT MIN(temperature) FROM weather);
Zde je výsledek:
| id | město | teplota |
|---|---|---|
| 3 | Boston | 15 |
| 4 | Cleveland | 15 |
Diskuse:
Chcete-li zjistit minimální hodnotu sloupce, použijte MIN() agregační funkce; k nalezení minimální hodnoty potřebuje název sloupce nebo výrazu. V našem příkladu vrací dílčí dotaz minimální hodnotu v temperature sloupec (poddotaz:SELECT MIN(temperature) FROM weather ). Hlavní dotaz zobrazuje id, město a teplotu. Chcete-li zobrazit pouze řádky s minimálními hodnotami ve sloupci, použijte WHERE s dílčím dotazem (např. SELECT MIN(temperature) FROM weather ). Do klauzule WHERE umístěte název sloupce s relativní hodnotou, kterou chcete porovnat s hodnotou vrácenou agregační funkcí v dílčím dotazu (WHERE temperature = (SELECT MIN(temperature) FROM weather) ).