Postgres String AGG

Postgres String AGG
W PostgreSQL istnieją wbudowane funkcje agregacyjne, w tym suma, liczba, array_agg (), string_agg (), avg (), maks., Min itp. Celem zastosowania funkcji agregowanych w kodzie jest określenie danych wyjściowych z zestawu wartości. W tym artykule będziemy omawiać funkcję string_agg (). String_Agg () jest funkcją agregowaną składającą się z dwóch parametrów; Pierwszy parametr przyjmuje wartości wejściowe i łączy wartości w ciągu. W drugim parametrze określacie ogranicznik, który oddziela pierwszy parametr.

Funkcje funkcji String_Agg () i array_agg () jest takie same, z wyjątkiem tego, że String_Agg () jest funkcją agregatów, która zwraca wynik jako typ string, podczas gdy funkcja Array_Agg () zwraca Ci typ tablicy jako wyniki wyniki.

Ten artykuł jest kompletnym przewodnikiem wyjaśniania funkcji agregatu String_Agg () w PostgreSQL. Będziesz świadkiem różnych przykładów funkcji String_Agg () w PostgreSQL ze szczegółowym wyjaśnieniem. Poniższa składnia pomoże Ci uzyskać podstawowe zrozumienie korzystania z funkcji String agg () w PostgreSQL:

String_Agg (wartość, delimiter)

W powyższej składni,

  • Najpierw napisz funkcję string_agg () z nawiasami (). Funkcja sring_agg () przyjmuje dwa parametry.
  • W pierwszym parametrze „wartość” jest dowolną wartością tekstową, która jest znakiem ciągu. Jeśli wprowadzisz jakikolwiek inny typ danych niż znak ciąg.
  • W drugim parametrze „ogranicznik” oddziela połączone struny.

String_Agg () również przyjmuje klauzulę według instrukcji. Jest to opcjonalne, jeśli chcesz, aby dane wyjściowe znajdowały się w określonej kolejności, możesz użyć klauzuli kolejności za pomocą funkcji string_agg (). Poniżej znajduje się przykład użycia klauzuli zamówienia w instrukcji:

String_agg (wartość, delimiter [order_by_clause])

Możesz dodać określony warunek w „order_by_clause” za pomocą funkcji kolejności w instrukcji w takim przypadku:

Zamów według wartości1 ASC | Desc,…

Kolejność według funkcji można określić jako w formie rosnącej lub malejącej w instrukcji zgodnie z pisemną wartością (wartością 1).

W oświadczeniach możesz także użyć grupy według klauzuli; mówi rzędom pogrupowanymi w tabeli.

String_Agg () Przykłady funkcji w PostgreSQL:

Aby użyć funkcji string_agg () w instrukcjach, najpierw musisz utworzyć przykładową tabelę dla przykładów w PostgreSQL. Poniżej znajduje się kod tworzenia przykładowej tabeli w PostgreSQL:

Utwórz graczy (
Tekst nazwy_ gracza ,
Tekst_namii zespołu ,
Tekst gracza_positon
);

Powyższa składnia utworzy tabelę w bazie danych o nazwie „gracze” i kolumnach jako nazwa_ gracza, nazwa_prawy i Player_position. PostgreSQL podaje następującą wiadomość:

Aby sprawdzić, czy tabela jest tworzona z określonymi kolumnami, uruchom zapytanie poniżej:

Wybierz * z „graczy”;

Teraz wstaw niektóre wartości w tabeli „gracze” za pomocą wkładki do polecenia:

Wstaw do „graczy”
Wartości („Chris”, „Indie West”, „Batsman”), („Shannon”, „West Indies”, „Bowler”),
(„Bravo”, „Indie West”, „Batsman”);
Wstaw do „graczy”
Wartości („James”, „Nowa Zelandia”, „All Rounder”);
Wstaw do „graczy”

Wartości („Shaheen”, „Pakistan”, „Bowler”), („Sarfaraz”, „Pakistan”, „Keeper furtki”);

Powyższe wartości są wstawiane do tabeli „odtwarzacze” za pomocą polecenia wkładki i wartości w instrukcjach, i możemy potwierdzić, że wykonując instrukcję SELECT poniżej:

Wybierz * z „graczy”;

Wartości określone we wkładce do polecenia są teraz pomyślnie wykonywane i można je zobaczyć w powyższym wyjściu.

Generowanie wartości oddzielonych przecinkami za pomocą string_agg () w PostgreSQL:

Aby wygenerować listę wartości oddzielonych przez przecinek, użyjemy funkcji string_agg () w instrukcji. Poniżej znajduje się instrukcja generowania wartości oddzielonych przez przecinek:

Wybierz „Team_name”, String_Agg („nazwa_ gracza”, ',')
Z „graczy” grupy „Team_name”;

Użyliśmy funkcji String_Agg (), aby oddzielić kolumnę „Player_name” z przecinkami w instrukcji Wybierz. W pierwszym parametrze String_Agg () wyrażenie jest zdefiniowane, które chcemy się oddzielić; W drugim parametrze użyliśmy przecinka ”,„ jako ogranicznika lub separatora, aby oddzielić wartości. Użyliśmy grupy przez polecenie, aby podzielić wiersze w odniesieniu do kolumny „Team_name”. Wyjście dla powyższej składni jest wyświetlane jako:

Wartości „nazwy_ gracza” są połączone przez przecinki w powyższym wyjściu i wyświetlane z „Team_name”.

Oddzielanie wielu kolumn za pomocą String_Agg () w PostgreSQL:

Możemy użyć więcej niż jednej funkcji String_Agg () w instrukcji pojedynczej wyboru. Poniższy przykład pokazuje, że to:

Wybierz „Team_name”, String_Agg („Player_name”, ','), String_Agg („Player_positon”, ',')
Z „graczy” grupy „Team_name”;

Użyłem dwóch funkcji String_Agg () w dwóch różnych kolumnach, aby połączyć wartości kolumn przez przecinki. Powyższe stwierdzenie pokazuje następujące wyniki:

Widoczne jest, aby wartości dwupoziomowe są teraz oddzielone przez przecinki i wygenerowały listę.

Nie znamy nazw kolumn w powyższym wyjściu, które są wymienione jako domyślne nazwy „String_Agg”, możemy określić nazwy kolumn za pomocą funkcji w powyższej instrukcji. Jest to składnia do używania jako funkcji i określania nazw do kolumny:

Wybierz „Team_name”, String_Agg („Player_name”, ',', ') jako nazwa graczy,
string_agg („gracz_positon”, ',') jako gracza_positions
Z „graczy” grupy „Team_name”;

W powyższej instrukcji, z funkcją String_Agg (), określałem słowo kluczowe z żądaną nazwą, wyświetlając nazwę w kolumnie. Możemy zobaczyć na poniższym wyjściu:

Kolumny, które były domyślnie nazwane jako „String_Agg”, są teraz nazwane odpowiednio jako „graczy_nazwa” i „graczy”.

Wniosek:

W tym artykule nauczyliśmy się funkcji String_Agg () w PostgreSQL, jej definicji, jej użyciu i implementacji. Funkcję String_Agg () może być używana do generowania wartości oddzielonych przecinkami z pojedynczą i wieloma kolumnami. Słowo kluczowe AS może być używane do wyświetlania określonych nazw do wybranych kolumn.