Grupa Postgres na dzień

Grupa Postgres na dzień
Instrukcja grupy Postgres służy do tworzenia grup wierszy uzyskanych z instrukcji Select. Ta klauzula jest pomocna, gdy musimy korzystać z wbudowanych funkcji postgres za pomocą polecenia Wybierz. Na przykład, używając sum (), count (), możemy łatwo użyć tej klauzuli z instrukcją SELECT. Ten samouczek będzie działał nad tą klauzulą ​​w celu pogrupowania wierszy relacji zgodnie z dniem wprowadzonych danych.

Składnia grupy według klauzuli

WYBIERAĆ
kolumna 1,
name_of_function (kolumna2)
Z
Name_of_table
GRUPUJ WEDŁUG
kolumna_1;

Nazwa_of_function to wbudowana funkcja głównie jak funkcja liczby, która liczy liczbę wierszy, które mają być odpowiednio pogrupowane. Podczas gdy w przypadku dwóch kolumn, które mają być używane w instrukcji SELECT, używamy obu kolumn w klauzuli wybierają.

Wdrożenie grupy w dzień

Rozważ poniższy przykład, w którym mamy tabelę o nazwie kraj, który zawiera wszystkie informacje dotyczące kraju, id, nazwy i nazwy kontynentu. Zastosujemy polecenie grupy na stole.

Grupa według klauzuli jest stosowana w kolumnie, więc wybraliśmy kolumnę kontynentu do grupowania krajów tego samego kontynentu. Najpierw wybieramy konkretną kolumnę, którą chcemy grupować. I.mi., kontynent. Następnie tworzymy nową kolumnę, aby wyświetlić wynik. Ta wynikowa kolumna nazywa się same_area. Wbudowana funkcja PostgreSQL Count () jest tutaj używana do zliczenia tych identyfikatorów, które mają te same kontynenty.

>> Wybierz Continent jako same_area, Count (ID) z Country Group według kontynentu;

To da następujące wyniki w nowo utworzonym poleceniu z kolumną Count on Execution. Wynik pokazuje, że dwa kontynenty pojawiają się 2 razy w tabeli. Te dwa same kontynenty są wspomniane zbiorowo w celu utworzenia grupy za pomocą grupy według klauzuli.

Grupa w dzień

Jak widzieliśmy, grupa według klauzuli jest używana z określoną nazwą kolumny, zgodnie z którą wykonuje całe stwierdzenie. Teraz użyjemy niektórych przykładów do grupowania danych z tabeli według dni z danych, których użyliśmy w tabelach. Zostaną utworzone tutaj nowe relacje, aby wdrożyć nowy przykład. Korzystając z polecenia S Create, Tabela o nazwie Test jest utworzona o 3 kolumnach, identyfikatorach, nazwie tematu i test_date; Typ danych dla tej zmiennej jest używany jako data, ponieważ musimy grupować dane w tabeli według dnia.

>> Utwórz test tabeli (ID INTEGER, TEMAT_NAME VARCHAR (10), Data test_date);

Po utworzeniu tabeli musimy wstawić wartości w tabeli za pośrednictwem instrukcji Insert. Podczas wstawiania danych należy upewnić się, że wstawowane wartości zawierają te same daty w dwóch lub więcej wierszy, aby uniknąć wszelkich konfliktów podczas odpowiedniego grupowania wierszy. Ponieważ różne dane nie będą zgrupowane. Kolumna test_date zawiera daty zgodnie z formatem daty funkcji wbudowanej daty i powinna być zapisywana w odwróconych przecinkach.

>> Wstaw do testu (ID, UTATES_NAME, TEST_DATE) Wartości („1”, „English”, „2022-11-22”), („2”, „Chemistry”, „2022-8-06”), (( „3”, „Socialogy”, „2022-11-22”), („4”, „Math”, „2022-8-06”), („5”, „angielski”, „2022-03-08 „), („ 6 ”,„ Physics ”,„ 2022-06-19 ”);

Aby zobaczyć wprowadzone dane w tabeli, użyj polecenia Select, aby zobaczyć rekord.

>> Wybierz * z testu;

Możesz zobaczyć, że niektóre wiersze w kolumnach test_date wyglądają podobnie.

Przykład 1
Użyjemy zapytania Wybierz z grupą według klauzuli, aby połączyć te same wartości.

>> Wybierz date_trunc („dzień”, test_date) jako Combine_Test, Count (ID) jako liczba z grupy testowej według date_trunc („dzień”, test_date);

To polecenie zawiera wbudowaną funkcję daty, aby pobrać dni tylko z wprowadzonej wartości daty. Ta funkcja zajmuje słowo kluczowe „dzień”, aby pobrać dni i nazwę kolumny, na której ta funkcja ma być stosowana jako parametr. A następnie określić nową kolumnę; Funkcja Count () będzie liczyła całkowitą liczbę identyfikatorów, które są takie same. A selekcja jest pogrupowana w wynikających z tego dni, które są przekształcane z zastosowanych dat.

Po wykonaniu zobaczysz powyższy wynik. Widać, że te rzędy mające te same daty są łączone jako grupa.

Przykład 2
Ponownie rozważ powyższy przykład, ale pogrupowaliśmy dane za pomocą dwóch kolumn tym razem. Musimy wybrać te dwa elementy, których chcemy użyć z grupą według klauzuli; W przeciwnym razie PostgreSQL nie wykonuje polecenia. Użyliśmy identyfikatora i kolumny daty.

>> Wybierz id, date_trunc („dzień”, test_date) jako Combine_Test, Count (id) jako liczba z grupy testowej według id, date_trunc („dzień”, test_date);

Tym razem wartości nie są zgrupowane. Ponieważ kiedy używamy grupy według klauzuli z więcej niż jedną kolumną, klauzula jest najpierw stosowana w pierwszej kolumnie, a następnie ich wynikające z nich są dalej grupowane zgodnie z drugą kolumną. Więc ta wynikowa tabela pokazuje, że żaden wiersz nie jest pogrupowany, ponieważ wszystkie identyfikatory są różne. Każda liczba identyfikatorów pokazuje 1 dla każdego wiersza.

Przykład 3
Daty mające ten sam dzień i różne liczby miesiąca nie są zgrupowane. Konieczne jest, aby dni, miesiące i lata takie same; W przeciwnym razie rząd ma ten sam dzień, ale różne miesiące i lata nie są zgrupowane według dni. Zostały one liczone jako osobne wiersze. Aby zrozumieć tę koncepcję, ponownie wstawymy kolejny rząd, który ma ten sam, ale różne inne atrybuty dat.

Stosując tę ​​samą grupę według klauzuli w instrukcji Select, otrzymamy poniższy wynik. Możesz zauważyć, że nowo wprowadzony rząd nie jest zgrupowany.

Przykład 4
Poprzednie przykłady dotyczą ekstrakcji i grupowania dnia zgodnie z funkcją daty. Ale teraz użyjemy nazw tygodni jako wartości ciągu. Użyjemy grupy według klauzuli do grupowania wierszy według tych samych dni. Utwórz nową tabelę o nazwie mecz o identyfikatorze, nazwie i dnia meczu jako atrybutów.

>> Utwórz dopasowanie tabeli (ID Liczba całkowita, nazwa Varchar (10), Day Varchar (10));

Teraz wprowadzimy dane za pomocą instrukcji Insert. Dane z dnia kolumny będą zawierać nazwę dni o podobnych wartościach.

Teraz zastosujemy grupę według klauzuli, aby połączyć te same dni w kolumnie dziennej jako wynikowa kolumna kombinacji.

>> Wybierz dzień jako Combine_Match, Count (ID) jako hrabia z grupy meczowej według dnia;

Według polecenia te same dni są pogrupowane w kolumnie. I ci, którzy nie byli tacy sami, są wymienione niezależnie.

Teraz ponownie wstawymy wiersz o tej samej nazwie meczu z tą samą nazwą dnia. Poprzednie wiersze mają dane o odmiennych nazwach dopasowania z tymi samymi dniami.

Użyj grupy według klauzuli wraz z dwoma nazwami kolumn i dniem. Teraz tylko te rzędy o tych samych nazwiskach i dniach są grupowane. Podczas gdy inne są wyświetlane bez grupowania.

>> Wybierz nazwę, dzień, liczba (id) z grupy meczowej według nazwy Day;

Wniosek

Artykuł „Grupa Postgres na dzień” opisuje implementację w języku PostgreSQL w systemie Windows 10 za pomocą PSQL Shell. Uwzględniliśmy wbudowane funkcje w funkcjach daty, a także w ręcznie wprowadzonych danych za pośrednictwem poleceń. Grupa według klauzuli pomaga zarządzać danymi w celu zachowania tego samego rodzaju danych wyrównanych i nienaruszonych.