SQL Serveri agregaatfunktsioonid

Agregaatfunktsioonid (en: Aggregate functions)

Funktsioonid, mis tagastavad üks väärtus, nad ignoreerivad “null” väärtus, mitte COUNT(*).

Need kasutatakse SELECT päringus, tihti koos GROUP BY

Kasutage kui:

  • SELECT-lause valikloend (kas alampäring või väline päring).
  • HAVING-lausel.

AVG

Funktsioon leiab keskmine väärtus ja ignoreerib “null”

select avg(kiirus_kmH) 'Keskmine kiirus' from hobused;

41 + 47 + 49 + 40 + 57 + 59 = 293

293 / 6 = 48.83333333, kui meil on andmetüüp int siis vastus on 48

COUNT ja COUNT_BIG

Funktsioon tagastab kõik leitud kirjed ilma null väärtuseta

erinevus count ja count_big vahel on andmetüüp, mis funktsioon tagastab. COUNT tagastab int, kuid COUNT_BIG tagastab bigint

select COUNT_BIG(kiirus_kmH) from hobused;
select COUNT(kiirus_kmH) from hobused;

Siin meil on 6 kirje, kus väärtus on olemas

MAX ja MIN

Funktsioonid tagastavad minimaalne ja maksimaalne väärtus

select min(kiirus_kmH) 'Minimaalne kiirus' from hobused;
select max(kiirus_kmH) 'Maksimaalne kiirus' from hobused;

Tabelis minimaalne väärtus on 40 ja maksimaalne 59

SUM

Funktsioon tagastab väärtuse summa

select sum(kiirus_kmH) 'kiirus summa' from hobused;

41 + 47 + 49 + 40 + 57 + 59 = 239

STRING_AGG

ühendab väärtusi ja paneb nende vahele eraldaja

select STRING_AGG(nimi, ' ta on sõber ') from hobused;