Klauzula „partycja według” lub funkcja PostgreSQL należy do kategorii funkcji okna. Funkcje okien PostgreSQL to te, które są zdolne do wykonywania obliczeń obejmujących wiele wierszy kolumny, ale nie wszystkie wiersze. Oznacza to, że w przeciwieństwie do agregowanych funkcji PostgreSQL, funkcje systemu Windows niekoniecznie wytwarzają jedną wartość jako wyjście. Dzisiaj chcemy zbadać wykorzystanie klauzuli „partycji według” lub funkcji PostgreSQL w systemie Windows 10.
PARTICJA POSTGRESQL według przykładów w systemie Windows 10:
Ta funkcja wyświetla dane wyjściowe w postaci partycji lub kategorii w odniesieniu do określonego atrybutu. Ta funkcja po prostu bierze jeden z atrybutów tabeli PostgreSQL jako dane wejściowe od użytkownika, a następnie odpowiednio wyświetla dane wyjściowe. Jednak klauzula „partycja według” lub funkcja PostgreSQL jest najbardziej odpowiednia dla dużych zestawów danych, a nie dla tych, w których nie można zidentyfikować odrębnych partycji lub kategorii. Będziesz musiał przejść przez dwa przykłady omówione poniżej, aby lepiej zrozumieć użycie tej funkcji.
Przykład nr 1: Wyodrębnienie średniej temperatury ciała z danych pacjentów:
W tym konkretnym przykładzie naszym celem jest znalezienie średniej temperatury ciała pacjentów z tabeli „pacjentów”. Możesz się zastanawiać, czy możemy po prostu użyć funkcji „AVG” PostgreSQL, więc dlaczego nawet używamy klauzuli „partycja przez” tutaj. Cóż, nasza tabela „pacjenta” składa się również z kolumny o nazwie „DOC_ID”, która ma określić, który lekarz leczył konkretnego pacjenta. Jeśli chodzi o ten przykład, jesteśmy zainteresowani widzeniem średniej temperatury ciała pacjentów leczonych przez każdego lekarza.
Ta średnia będzie inna dla każdego lekarza, ponieważ uczestniczyli w różnych pacjentach mających różne temperatury ciała. Dlatego użycie klauzuli „partycji przez” jest obowiązkowe w tej sytuacji. Ponadto użyjemy już istniejącej tabeli do zademonstrowania tego przykładu. Możesz także utworzyć nowy, jeśli chcesz. Będziesz mógł dobrze zrozumieć ten przykład, przechodząc przez następujące kroki:
Krok 1: Przeglądanie danych, które przechowuje tabela pacjenta:
Ponieważ już stwierdziliśmy, że w tym przykładzie użyjemy już istniejącej tabeli, postaramy się najpierw wyświetlić dane, abyś mógł spojrzeć na atrybuty, które ma ta tabela. W tym celu wykonamy zapytanie pokazane poniżej:
# Wybierz * od pacjenta;Na poniższym obrazie widać, że tabela „pacjenta” ma cztery atrybuty, i.mi., PAT_ID (odnosi się do identyfikatora pacjenta), PAT_NAME (posiada nazwę pacjenta), PAT_TEMP (odnosi się do temperatury ciała pacjenta) i DOC_ID (odnosi się do identyfikatora lekarza, który leczył konkretnego pacjenta).
Krok # 2: Wyodrębnienie średniej temperatury ciała pacjentów w odniesieniu do lekarza, który się nimi uczestniczył:
Aby dowiedzieć się średniej temperatury ciała pacjentów podzielonych przez lekarza, który się z nimi uczestniczył, wykonamy zapytanie podane poniżej:
# Wybierz Pat_id, Pat_name, Pat_TEMP, DOC_ID, AVG (PAT_TEMP) Over (partycja przez DOC_ID) od pacjenta;To zapytanie obliczy średnią temperatury pacjentów dotyczącą lekarza, który się do nich zajmował, a następnie po prostu wyświetla je wraz z innymi atrybutami na konsoli, jak pokazano na poniższym obrazku:
Ponieważ mieliśmy pięć różnych identyfikatorów lekarzy, udało nam się obliczyć średnie pięciu różnych partycji za pomocą tego zapytania, i.mi., 99.5, 99, 101.5, 99.5 i 105.5 odpowiednio.
Przykład nr 2: Wyodrębnienie średnich, minimalnych i maksymalnych cen należących do każdego rodzaju dania z danych posiłków:
W tym przykładzie chcemy znaleźć średnie, minimalne i maksymalne ceny każdego dania w odniesieniu do rodzaju dania ze stolika „posiłku”. Ponownie użyjemy już istniejącej tabeli, aby zademonstrować ten przykład; Jednak możesz utworzyć nowy stół, jeśli chcesz. Otrzymasz wyraźniejsze wyobrażenie o tym, o czym mówimy po przejrzeniu wspomnianych poniżej kroków:
Krok 1: Przeglądanie danych, które przechowuje tabela posiłków:
Ponieważ już stwierdziliśmy, że w tym przykładzie użyjemy już istniejącej tabeli, postaramy się najpierw wyświetlić dane, abyś mógł spojrzeć na atrybuty, które ma ta tabela. W tym celu wykonamy zapytanie pokazane poniżej:
# Wybierz * z posiłku;Na poniższym obrazie widać, że tabela „posiłku” ma trzy atrybuty, i.mi., Dish_name (odnosi się do nazwy dania), dish_type (trzyma typ, do którego należy danie, i.mi., Danie główne, starter lub deser) i DISH_PRICE (odnosi się do ceny potrawy).
Krok # 2: Wyodrębnienie średniej ceny naczynia naczynia w odniesieniu do typu naczyń, do którego należy:
Aby dowiedzieć się średniej ceny naczynia podziału na typ dania, do którego należy, wykonamy zapytanie podane poniżej:
# Wybierz nazwę dish_name, dish_type, dish_price, avg (dish_price) Over (partycja by dish_type) z posiłku;To zapytanie obliczy średnią cenę potraw w odniesieniu do typu naczynia, do którego należą, a następnie po prostu wyświetla je wraz z innymi atrybutami na konsoli, jak pokazano na poniższym obrazku:
Ponieważ mieliśmy trzy różne typy dań, udało nam się obliczyć średnie trzech różnych partycji za pomocą tego zapytania, i.mi., 155, 241.67 i 261.Odpowiednio 67.
Krok # 3: Wyodrębnienie minimalnej ceny naczyń naczynia w odniesieniu do typu naczyń, do którego należy:
Teraz, z podobnych podstaw, możemy wydobyć minimalną cenę naczyń w stosunku do każdego typu naczyń, po prostu wykonując zapytanie podane poniżej:
# Wybierz nazwę dish_name, dish_type, dish_price, min (dish_price) Over (partycja by dish_type) z posiłku;To zapytanie obliczy minimalną cenę potraw w odniesieniu do typu naczynia, do którego należą, a następnie po prostu wyświetla je wraz z innymi atrybutami na konsoli, jak pokazano na poniższym obrazku:
Krok # 4: Wyodrębnienie maksymalnej ceny naczyń naczynia w odniesieniu do typu naczyń, do którego należy:
Wreszcie, w ten sam sposób, możemy wyodrębnić maksymalną cenę naczynia w stosunku do każdego typu naczyń, po prostu wykonując zapytanie podane poniżej:
# Wybierz nazwę dish_name, dish_type, dish_price, max (dish_price) Over (partycja by dish_type) z posiłku;To zapytanie obliczy maksymalną cenę potraw w odniesieniu do typu naczynia, do którego należą, a następnie po prostu wyświetla je wraz z innymi atrybutami na konsoli, jak pokazano na poniższym obrazku:
Wniosek:
Ten artykuł miał przedstawić przegląd użycia funkcji PostgreSQL „Partition by”. W tym celu po raz pierwszy wprowadziliśmy Cię do funkcji okna PostgreSQL, a następnie krótki opis funkcji „partycja przez”. Wreszcie, aby opracować wykorzystanie tej funkcji w PostgreSQL w systemie Windows 10, przedstawiliśmy dwa różne przykłady, z pomocą których możesz łatwo nauczyć się wykorzystania tej funkcji PostgreSQL w systemie Windows 10.