Podczas przetwarzania i analizy danych histogramy ułatwiają reprezentację rozkładu częstotliwości i łatwe uzyskiwanie informacji. Przyjrzymy się kilku różnym metodom uzyskiwania rozkładu częstotliwości w PostgreSQL. Aby zbudować histogram w PostgreSQL, możesz użyć różnych poleceń PostgreSQL Histogram. Każdy z nich wyjaśnimy osobno.
Najpierw upewnij się, że masz zainstalowaną powłokę wiersza poleceń PostgreSQL i pgAdmin4 w swoim systemie komputerowym. Teraz otwórz powłokę wiersza poleceń PostgreSQL, aby rozpocząć pracę z histogramami. Natychmiast poprosi Cię o podanie nazwy serwera, nad którym chcesz pracować. Domyślnie wybrany został serwer „localhost”. Jeśli nie wprowadzisz żadnego podczas przeskakiwania do następnej opcji, będzie ona kontynuowana z domyślną. Następnie pojawi się monit o wprowadzenie nazwy bazy danych, numeru portu i nazwy użytkownika do pracy user. Jeśli go nie podasz, będzie kontynuowany z domyślnym. Jak widać na poniższym obrazku, będziemy pracować nad „testową” bazą danych. Na koniec wprowadź hasło dla konkretnego użytkownika i przygotuj się.
Przykład 01:
Musimy mieć jakieś tabele i dane w naszej bazie danych do pracy. Tworzyliśmy więc tabelę „produkt” w bazie danych „test”, aby zapisać rekordy sprzedaży różnych produktów. Ta tabela zajmuje dwie kolumny. Jeden to „order_date”, aby zapisać datę złożenia zamówienia, a drugi to „p_sold”, aby zapisać całkowitą liczbę sprzedaży w określonym dniu. Wypróbuj poniższe zapytanie w swojej powłoce poleceń, aby utworzyć tę tabelę.
>> CREATE TABLE produkt( data_zamówienia DATE, p_sold INT);
W tej chwili tabela jest pusta, więc musimy dodać do niej kilka rekordów. Więc wypróbuj poniższe polecenie INSERT w powłoce, aby to zrobić.
>> WSTAW W WARTOŚCI produktu ('2021-03-01',1250), ('2021-04-02',555), ('2021-06-03',500), ('2021-05-04' ,1000), ('05.10.2021',890), ('10.2021',1000), ('06.2021',345), ('07.2021',467 ), („08.02.2021”, 1250), („09.2021”, 789);
Teraz możesz sprawdzić, czy tabela zawiera dane, używając polecenia SELECT, jak podano poniżej.
>> WYBIERZ * Z produktu;
Korzystanie z podłogi i kosza:
Jeśli lubisz biny PostgreSQL Histogram, aby zapewnić podobne okresy (10-20, 20-30, 30-40 itd.).), uruchom poniższe polecenie SQL. Szacujemy numer pojemnika z poniższego zestawienia, dzieląc wartość sprzedaży przez rozmiar pojemnika histogramu, 10.
Takie podejście ma tę zaletę, że dynamicznie zmienia pojemniki w miarę dodawania, usuwania lub modyfikowania danych or. Dodaje również dodatkowe pojemniki na nowe dane i/lub usuwa pojemniki, jeśli ich liczba osiągnie zero. W rezultacie możesz wydajnie generować histogramy w PostgreSQL.
Podłoga wymiany (p_sold/10)*10 z podłogą(p_sold/100)*100 dla zwiększenia rozmiaru pojemnika do 100.
Korzystanie z klauzuli WHERE:
Skonstruujesz rozkład częstotliwości, wykorzystując deklarację CASE, jednocześnie rozumiejąc, jakie pojemniki histogramu mają być generowane lub jak różnią się rozmiary pojemników histogramu. W przypadku PostgreSQL poniżej znajduje się kolejna instrukcja Histogram:
>> WYBIERZ '100-300' JAKO cena_pomiędzy, COUNT(p_sold) JAK ZLICZANIE Z produktu WHERE p_sold BETWEEN 100 I 300 UNION (WYBIERZ '300-600' JAKO cena_między, COUNT(p_sold) JAK LICZ Z produktu WHERE p_sold BETWEEN 300 A 600 ) UNION (WYBIERZ '600-900' AS price_between, COUNT(p_sold) AS COUNT FROM product WHERE p_sold BETWEEN 600 AND 900) UNION (SELECT '900-1300' AS price_between, COUNT(p_sold) AS COUNT FROM WHERE p_sold BETWEEN 900 ORAZ 1300);A dane wyjściowe pokazują rozkład częstotliwości histogramu dla całkowitych wartości zakresu kolumny „p_sold” i liczby zliczeń. Ceny wahają się od 300-600 i 900-1300 mają łączną liczbę 4 osobno. Zakres sprzedaży 600-900 uzyskał 2 liczby, a zakres 100-300 uzyskał 0 liczby sprzedaży.
Przykład 02:
Rozważmy inny przykład ilustrujący histogramy w PostgreSQL. Stworzyliśmy tabelę „student” za pomocą cytowanego poniżej polecenia w powłoce. Ta tabela będzie przechowywać informacje dotyczące uczniów i liczby niepowodzeń, które mają.
>> CREATE TABLE student(std_id INT, fail_count INT);
Tabela musi zawierać jakieś dane. Tak więc wykonaliśmy polecenie INSERT INTO, aby dodać dane w tabeli „student” jako:
>> WSTAW W WARTOŚCI uczniów (111, 30), (112, 60), (113, 90), (114, 3), (115, 120), (116, 150), (117, 180), (118) , 210), (119, 5), (120, 300), (121, 380), (122, 470), (123, 530), (124, 9), (125, 550), (126, 50 ), (127, 40), (128, 8);
Teraz tabela została wypełniona ogromną ilością danych zgodnie z wyświetlanym wyjściem output. Ma losowe wartości dla std_id i fail_count uczniów.
>> WYBIERZ * OD ucznia;
Gdy spróbujesz uruchomić proste zapytanie, aby zebrać łączną liczbę niepowodzeń jednego ucznia, otrzymasz poniższe dane wyjściowe. Dane wyjściowe pokazują tylko oddzielną liczbę niepowodzeń każdego ucznia raz z metody „count” użytej w kolumnie „std_id”. Nie wygląda to zbyt satysfakcjonująco.
>> SELECT fail_count, COUNT(std_id) FROM Student GROUP BY 1 ORDER BY 1;
W tym przypadku ponownie zastosujemy metodę podłogi dla podobnych okresów lub zakresów. Wykonaj więc poniższe zapytanie w powłoce poleceń. Zapytanie dzieli liczbę uczniów „fail_count” przez 100.00, a następnie stosuje funkcję podłogi, aby utworzyć kosz o rozmiarze 100. Następnie sumuje całkowitą liczbę studentów przebywających w tym konkretnym przedziale.
Wniosek:
Histogram możemy wygenerować za pomocą PostgreSQL przy użyciu dowolnej z technik wspomnianych wcześniej, w zależności od wymagań. Możesz zmieniać segmenty histogramu na dowolny zakres; jednolite odstępy nie są wymagane. W tym samouczku staraliśmy się wyjaśnić najlepsze przykłady, aby wyjaśnić Twoją koncepcję dotyczącą tworzenia histogramów w PostgreSQL. Mam nadzieję, że postępując zgodnie z którymkolwiek z tych przykładów, możesz wygodnie utworzyć histogram dla swoich danych w PostgreSQL.