SQL - agregační funkce GROUP, SUM, COUNT, HAVING, CONCAT, DISTICT

SQL - agregační funkce GROUP, SUM, COUNT, HAVING, CONCAT, DISTICT

V SQL je možné využít několik nativních (agregačních) funkcí, nyní se na ně podíváme.

 

HAVING

Klauzule HAVING je agregační podmínka a provádí se až po WHERE a GROUP BY. Používá se tedy pro další zagregování získaných (již vypočítaných) výsledků.

Typické je např. použití, kdy se v SELECT použije např. COUNT() a SUM() (či jiná agregační funkce) a na tyto již vypočítané hodnoty se provede podmínka HAVING:

Seskup všechny stejná jména (name) z tabulky table1 a vypiš pouze ta, která se vyskytují více než 10x

SELECT COUNT(id), name
FROM table1
GROUP BY name
HAVING COUNT(id) > 10;

 

CONCAT

CONCAT je funkce na slučování řetězců.

Příklad:

SELECT CONCAT("id:", id, " name: ",  name)
FROM table1

Vypíše: id:1 name: First

 

DISTINCT

Funkce DISTINCT vrátí jen rozdílné záznamy.

Příklad:

SELECT DISTINCT name
FROM table1

 

Další agregační funkce letem světem

ORDER BY

Seřazení hodnot dle sloupce vzestupně ASC či sestupně DESC

Příklad: Seřaď jména ve sloupci name vzestupně

SELECT name FROM table1 ORDER BY name ASC;

 

GROUP BY

Seskupení shodných hodnoty ve sloupci

Příklad: Seskup všechna stejná jména ve sloupci name

SELECT name FROM table1 GROUP BY name;

 

LIMIT

Omezení počtu řádků (výsledků, záznamů)

Příklad: Vrať 10 záznamů

SELECT name FROM table1 LIMIT 10;

 

OFFSET

Omezení počtu řádků (výsledků, záznamů) včetně posunu od začátku (offsetu)

Příklad: Vrať 10 záznamů (LIMIT) a přeskoč prvních 20 záznamů (OFFSET) - typicky se používá OFFSET pro stránkování výsledků.

SELECT name FROM table1 LIMIT 10 OFFSET 20;



 

MIN()

Nejnižší hodnota

Příklad: Vrať nejnižší hodnotu ze sloupce id

SELECT MIN(id) FROM table1;

 

MAX()

Nejvyšší hodnota

Příklad: Vrať nejvyšší hodnotu ze sloupce id

SELECT MAX(id) FROM table1;

 

AVG()

Průměr hodnot

Příklad: Vrať průměrnou hodnotu ze sloupce id

SELECT AVG(id) FROM table1;

 

SUM()

Součet hodnot (suma)

Příklad: Vrať sumu hodnot ze sloupce id

SELECT SUM(id) FROM table1;

 

COUNT()

Počet řádků (výsledků, záznamů)

Příklad: Vrať počet řádků ze sloupce id

SELECT COUNT(id) FROM table1;

 

Související obsah

databaze

sql

mysql

serial-sql

Komentáře

Vaše reakce na SQL - agregační funkce GROUP, SUM, COUNT, HAVING, CONCAT, DISTICT

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.