Zestawy grupowania PostgreSQL

Zestawy grupowania PostgreSQL
W tym artykule koncepcja grup grupowych zostanie omówiona w Postgres. Kiedy używamy tabeli z wieloma kolumnami w naszej bazie danych, różne kolumny reprezentują różne atrybuty bazy danych, a czasem są trudne do zrozumienia. Tak więc problem ten jest rozwiązywany za pomocą zestawów grupowania, w których grupujemy kilka odpowiednich kolumn, których potrzebujemy do wyjścia lub do opracowania sumy dla wynikającego wyjścia. Pomaga to zmniejszyć liczne zapytania, które będziemy musieli uruchomić, aby uzyskać ten sam wynik.

Zestawy grupowania w SQL

Jak omówiono powyżej, SQL pozwala nam grupować kolumny w celu dostarczenia skompilowanych wyjść w rzędach naszej tabeli bazy danych. Kiedy używamy tabel w naszej bazie danych, skupiamy się na wartościach, aby lepiej zrozumieć. Mimo to złożoność i skalowalność danych sprawiają, że analizowanie danych jest dla nas kłopot. W tym miejscu przydaje się koncepcja zestawów grupowania, dzięki którym upraszczamy kolumny zgodnie z naszymi potrzebami, a następnie z łatwością analizujemy uproszczone dane.

Koncepcja grupowania zestawów jest realizowana przez polecenie „Grupa przez” i „Zestawy grupowania”. Chociaż polecenie „Unii All” w SQL może wykonać to samo zadanie, wymaga wielu nasadek. Nakłada różne ograniczenia, co czyni go niewygodnym dla programisty i gorszym od idei grupowania zestawów, co jest wygodniejsze i dokładniejsze z precyzją. Polecenie „Union All” wymaga dokładnej liczby atrybutów z identycznymi typami danych dla każdej kolumny, więc musimy napisać „null” w każdym takim stanie w naszym kodzie, co zwiększa liczbę linii zapytania.

W nowszych aktualizacjach tego języka po poleceniu „grupy według” następuje polecenie „Zestaw grupowania”, które nie wymaga kilku zastępców, takich jak Union All Command i grup. Aby wdrożyć tę koncepcję, będziemy musieli przestrzegać ogólnej składni, która została napisana poniżej:

WYBIERAĆ
Pierwsza kolumna,
Second_Column,
agregate_function (trzeci_kolumn)
Z
Name_of_the_table
GRUPUJ WEDŁUG
Zestawy grupowe (
(First_Column, Second_Column),
(Pierwsza kolumna),
(Second_Column),
()
);

W poprzedniej składni użyliśmy kilku poleceń:

  • Pierwszy to „Wybierz”, w którym wybieramy kolumny do obliczenia i odbierania wyniku oraz funkcji agregatów do obliczania i wyświetlania danych wyjściowych w ostatniej kolumnie. Funkcja kruszywa jest prostą metodą agregowania liczb w każdym rzędzie w dwóch kolumnach: suma, avg, min i maks.
  • Po drugie, polecenie „z” wskazuje nazwę tabeli w naszej bazie danych, której używamy do kompilacji wyjściowych. Następnie używane jest polecenie „grupa według”, w którym istnieje wskazanie, w jaki sposób chcemy, aby kolumny zostały skompilowane, a kolejność wyjścia jest również zdefiniowana w tym samym wyrażeniu.

Zestawy grupowania w PostgreSQL

Jak znamy teraz składnię zestawów grupowania, możemy przyjrzeć się kilku przykładom, aby mieć dobrą wiedzę na temat wdrażania tej koncepcji w PostgreSQL. Możemy wykonywać grupowanie z:

  • Dwie kolumny tabeli
  • Trzy kolumny tabeli
  • Zamów przez polecenie

Grupowanie dwóch kolumn tabeli

Ten przykład będzie odnosić się do prostszego zestawu grupowania tylko dwóch kolumn. Najpierw utworzymy tabelę o nazwie rekordy z atrybutami, takimi jak numer rolki, nazwa kursu i znaki, oraz za pomocą danego kodu w następującym fragmencie:

Po utworzeniu tabeli wstawiamy niektóre wartości danych w rzędach różnych kolumn, które skompilujemy w poleceniu kolejnych zestawów grupowych:

Teraz napiszemy następujące polecenia, które pomagają w grupach grupowych w SQL. Numer rzutu ucznia zostanie pogrupowany według suma wszystkich znaków na wszystkich kursach:

Po wykonaniu poprzedniego kodu otrzymamy następujące dane wyjściowe:

Jak sugeruje wyjście, wszystkie wiersze są zgrupowane dotyczące suma wszystkich znaków kursów. Suma wszystkich znaków jest pokazana w stosunku do tego samego numeru rolki. Możemy wykonać tę funkcję nawet z więcej niż jednym numerem rolki, ponieważ zgrupuje ten sam numer rolki studentów w drugiej kolumnie w stosunku do podanego numeru rzutu.

Grupowanie trzech kolumn tabeli

W tym przykładzie utworzymy tabelę w naszej bazie danych 4 różnych kolumn i użyjemy koncepcji zestawu grupowania w tabeli. Najpierw będziemy musieli wykonać następujący kod, aby utworzyć tabelę.

Następnie wstawymy zestaw wartości dla dwóch różnych studentów na kilka kursów, godziny wymagane na kurs, a następnie znaki tego kursu.

Po wykonaniu i pomyślnym dodaniu poprzednich danych przejdziemy do grupowania tych danych dotyczących numeru rzutu ucznia i nazwy kursu. Aby to zrobić, napiszemy i wykonamy kod w następującym fragmencie:

Dane wyjściowe poprzedniego kodu jest wyświetlane na poniższym obrazie:

Jak widać, uprościliśmy złożoną tabelę w uproszczoną i pożądaną, grupując ją w liczby roll i nazwy kursów i dodając znaki w przypadku powtórzenia. Stało się to w numerze rolki „205”, którego ślady matematyki zostały dodane dwukrotnie od czasu powtarzania.

Możemy również pogrupować poprzednie kolumny tylko według nazwy kursu i uzyskać sumę znaków na każdym kursie. W tym celu napiszemy następujące zapytanie, a następnie wykonamy je:

W tym zapytaniu zgrupowaliśmy tylko kolumnę „Nazwa kursu”, a kolumna „Marks” została zgrupowana według funkcji „suma”. Po wykonaniu tego zapytania wyjście byłoby takie:

Wynik pokazuje bardziej wyrafinowany przegląd tabeli, co wskazuje na fakt, że koncepcja grupowania zestawów daje nam bardzo uproszczoną wersję tabeli, która pomoże nam w naszej analizie.

Grupowanie zestawów za pomocą polecenia „Order według”

Możemy tworzyć zestawy kolumn i uzyskać pożądaną uproszczoną wersję tabeli, ale czasami wydaje się to zdezorientowane. Możemy więc dalej to uprościć, używając polecenia „Order według”, które priorytetuje atrybut zgodnie z naszą specyfikacją. Po poleceniu „grupa według” to polecenie zostanie wykonane. Aby lepiej uchwycić polecenie „Zakaz według” zestawów grupowania, użyjemy poprzedniego przykładu, aby. Gdy z powodzeniem zgrupowaliśmy kolumny w tabeli w ostatnim przykładzie, zamówimy je według nazwy kursu i atrybutu znaków.

W tym zapytaniu umieściliśmy dane wyjściowe w kolejności alfabetycznej nazw kursów jako wyjścia, jak pokazano poniżej:

Możemy również zamówić wyjście w kolejności malejącej znaków, pisząc to zapytanie:

Wniosek

W tym samouczku dowiedzieliśmy się o koncepcji grupowania zestawów w SQL. W tym artykule omówiono również zaletę użycia polecenia „grupa przez” na polecenie „Union All”. Następnie wdrożyliśmy również tę koncepcję grupowania zestawów w środowisku PostgreSQL, która sprawiła, że ​​mamy lepszą wiedzę na temat tej ważnej koncepcji w strukturalnym języku zapytania. Na koniec przyjrzeliśmy się różnym sposobom wdrażania tej koncepcji, zmieniając niektóre czynniki, a nawet wzmacniając zestawy danych w celu monitorowania wydajności wyjściowej. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i informacji.