Използване на група по за няколко колони
Разбирам смисъла на GROUP BY x
Но как работи GROUP BY x, y
и какво означава?
955
2
Разбирам смисъла на GROUP BY x
Но как работи GROUP BY x, y
и какво означава?
Групиране по X
означава да поставите всички с еднаква стойност за X в една група.Групиране по X, Y
означава включване на всички, които имат еднакви стойности за X и Y, в една група.За да илюстрираме с пример, нека да кажем, че имаме следната таблица, в която се посочва кой какъв предмет посещава в даден университет:
Когато използвате
group by
само за колоната с предметите, да речем:Ще получите нещо подобно на:
...защото има 5 записа за ITB001 и 2 за MKB114
Ако трябва да
групираме по
две колони:ще получим следното:
Това е така, защото, когато групираме по две колони, се казва "Групирайте ги така, че всички с еднакъв предмет и семестър да са в една и съща група, и след това изчислете всички функции за агрегиране (брой, сума, средно и т.н.) за всяка от тези групи". В този пример това се доказва от факта, че когато ги преброим, има трима души, които правят ITB001 през семестър 1, и двама, които го правят през семестър 2. И двамата души, които правят MKB114, са в семестър 1, така че няма ред за семестър 2 (никакви данни не се вписват в групата "MKB114, семестър 2")
Надявам се, че това има смисъл.
Клаузата
GROUP BY
се използва в комбинация с функциите за агрегиране, за да се групира наборът от резултати по една или повече колони:Запомнете този ред:
Можете да използвате всички тези функции, ако използвате функции за агрегиране, и това е редът, в който те трябва да бъдат зададени, в противен случай може да получите грешка.
Агрегиращите функции са: