Nejmenší a největší

MIN(sloupec) najde nejmenší hodnotu sloupce, MAX(sloupec) největší. Nejlevnější a nejdražší hra:

SELECT MIN(cena) AS nejlevnejsi,
       MAX(cena) AS nejdrazsi
FROM hry;
nejlevnejsinejdrazsi
1291599

Fungují i na text a na kalendářní data. U textu je nejmenší hodnota ta první podle abecedy a největší ta poslední, ve stejném pořadí, v jakém řadí ORDER BY. Datum zapsané jako 'RRRR-MM-DD' se řadí stejně jako dny v kalendáři, takže MIN najde to nejdřívější a MAX to nejpozdější:

SELECT MIN(mesto) AS prvni_mesto,
       MAX(mesto) AS posledni_mesto,
       MIN(registrace) AS prvni_registrace,
       MAX(registrace) AS posledni_registrace
FROM zakaznici;
prvni_mestoposledni_mestoprvni_registraceposledni_registrace
BrnoPraha2023-01-152025-10-03

Všimněte si, že první město není NULL, i když ORDER BY mesto dává NULL na začátek. Stejně jako ostatní agregační funkce i MIN a MAX hodnoty NULL přeskakují. A protože porovnávají text stejně jako ORDER BY, tedy podle bajtů, skončila by města začínající na Č, Š nebo Ž až za Z.

Jak vidíte, jeden dotaz může mít několik agregačních funkcí, i různých. Všechny pracují se stejnými řádky, s těmi, které nechalo WHERE. Krátký přehled akčních her:

SELECT COUNT(*) AS pocet_her,
       MIN(cena) AS nejlevnejsi,
       MAX(cena) AS nejdrazsi,
       ROUND(AVG(cena), 1) AS prumerna_cena
FROM hry
WHERE zanr = 'Akční';
pocet_hernejlevnejsinejdrazsiprumerna_cena
4649999836.5

Typická chyba: chcete název nejlevnější hry a napíšete SELECT nazev, MIN(cena) FROM hry;. V SQLite to shodou okolností funguje: s MIN a MAX vezme ostatní sloupce z řádku s nejmenší nebo největší hodnotou, tady Cube Logic. Jiné databáze ale ohlásí chybu, a když mají dvě hry stejnou nejnižší cenu, SQLite ukáže jen jednu z nich. Použijte raději, co znáte z druhé lekce, ORDER BY cena LIMIT 1, a abyste viděli, jestli stejně nestojí i jiná hra, ukažte pár řádků navíc.

Pokyny

Ukažte datum první a poslední objednávky, ve sloupcích prvni_objednavka a posledni_objednavka:

prvni_objednavkaposledni_objednavka
2024-01-202025-12-22

Pod tím shrňte recenze hry Dragon Forge (hra_id 1): jejich počet, nejméně a nejvíce hvězdiček a průměrný počet hvězdiček zaokrouhlený na 2 desetinná místa, ve sloupcích pocet_recenzi, nejmene_hvezdicek, nejvice_hvezdicek a prumer_hvezdicek:

pocet_recenzinejmene_hvezdiceknejvice_hvezdicekprumer_hvezdicek
4354.25

A z tabulky hry ukažte název, který je podle abecedy první, a ten, který je poslední, ve sloupcích prvni_nazev a posledni_nazev:

prvni_nazevposledni_nazev
Bakery StoryZombie Town

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

4/10