Group By v SQL Serveru

Klazule GROUP BY v SQL slouzi k ziskani pouze unikatnich radku. Musite zadat pouze sloupce, podle kterych to chcete vyhodnotit – a to stejne jak za GROUP BY tak za SELECT. Jedina vyjimka je pro agregacni funkce(SUM,AVG, aj.) . To ale vubec nevadi, protoze vam to vrati (pri spravnem dotazu) jen unikatni radky, takze pak nejakou hodnotu primarniho klice ci jine dulezite hodnoty ziskate uz snadno.

Porad je to rychlejsi nez ziskavat vice radku a pak to delat v serverove casti kodu, kdy jeste hrozi riziko, ze udelate chybu a v nejhorsi variante prijdete o data. Takze pro priklad, mame tuto tabulku: Zdrojova tabulka Group By A tento SQL prikaz:

A ten nam vrati tento vystup:
Vystup SQL prikazu Group By
Jak vidite, vratili se nam pouze radky, ktere maji jedinecne kombinace sloupcu c1,c2 a pozor, nevratil se nam prvni radek, ale az druhy, protoze jsme na c4 aplikovali funkci MAX. Jeste vam ukazu co by vam SQL Server vypsal, kdyby jste se pokusili vypsat sloupec, ktery neni uveden v GROUP BY:


Chyba zadani Group By
Tohle uz nepotrebuje zadny komentar.

Leave a Reply

Your email address will not be published. Required fields are marked *