PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak utworzyć histogram w PostgreSQL

Histogramy pomagają wizualizować rozkład częstotliwości w analizie danych i raportowaniu oraz szybko uzyskiwać szczegółowe informacje. Oto jak utworzyć histogram w PostgreSQL. Przyjrzymy się kilku różnym sposobom uzyskania dystrybucji częstotliwości w PostgreSQL.

Jak utworzyć histogram w PostgreSQL

Oto kroki, aby utworzyć histogram w PostgreSQL.

Załóżmy, że masz następującą tabelę sprzedaż(data_zamówienia, sprzedaż)

postgres=# create table sales(order_date date,sale int);

postgres=# insert into sales values('2020-04-01',210),
           ('2020-04-02',125),('2020-04-03',150),('2020-04-04',230),
           ('2020-04-05',200),('2020-04-10',220),('2020-04-06',250),
           ('2020-04-07',215),('2020-04-08',300),('2020-04-09',250);

postgres=# select * from sales;
 order_date | sale
------------+------
 2020-04-01 |  210
 2020-04-02 |  125
 2020-04-03 |  150
 2020-04-04 |  230
 2020-04-05 |  200
 2020-04-10 |  220
 2020-04-06 |  250
 2020-04-07 |  215
 2020-04-08 |  300
 2020-04-09 |  250

Przeczytaj bonus:Utwórz użytkownika w PostgreSQL

Utwórz histogram w PostgreSQL

Istnieje wiele zapytań PostgreSQL Histogram do utworzenia histogramu w PostgreSQL. Przyjrzymy się każdemu z nich.

Najprostszy sposób na utworzenie histogramu w PostgreSQL

Jeśli chcesz, aby pojemniki PostgreSQL Histogram miały równe interwały (10-20, 20-30, 30-40 itd.), oto zapytanie SQL, aby utworzyć rozkład częstotliwości w PostgreSQL.

postgres=# select floor(sale/10)*10 as bin_floor, count(*)
     from sales
     group by 1
     order by 1;
+-----------+----------+
| bin_floor | count(*) |
+-----------+----------+
|       120 |        1 |
|       150 |        1 |
|       200 |        1 |
|       210 |        2 |
|       220 |        1 |
|       230 |        1 |
|       250 |        2 |
|       300 |        1 |
+-----------+----------+

W powyższym zapytaniu obliczamy numer pojemnika, dzieląc każdą wartość sprzedaży przez rozmiar pojemnika histogramu, czyli 10. Jeśli chcesz zmienić rozmiar pojemnika na 25, zmień floor(sale/10 )*10 na piętro(wyprzedaż/25 )*25

Przeczytaj bonus:PostgreSQL DROP VIEW

postgres=# select floor(sale/25)*25 as bin_floor, count(*)
     from sales
     group by 1
     order by 1;
+-----------+----------+
| bin_floor | count(*) |
+-----------+----------+
|       125 |        1 |
|       150 |        1 |
|       200 |        4 |
|       225 |        1 |
|       250 |        2 |
|       300 |        1 |
+-----------+----------+

Zaletą powyższej metody jest to, że automatycznie zmienia ona pojemniki na podstawie dodawania/usuwania/modyfikacji danych. Tworzy również nowe pojemniki dla nowych danych i/lub usuwa pojemniki w przypadku, gdy ich liczba wynosi 0. Pozwala więc na dynamiczne tworzenie histogramu w PostgreSQL.

Przeczytaj bonus:Indeks tworzenia PostgreSQL

Najbardziej elastyczny sposób tworzenia histogramu w PostgreSQL

Jeśli znasz już pojemniki histogramu, które mają zostać utworzone lub jeśli rozmiary segmentów histogramu są różne, możesz utworzyć rozkład częstotliwości za pomocą instrukcji CASE. Oto zapytanie histogramu dla PostgreSQL

postgresql=# select '100-150' as TotalRange,count(sale) as Count from sales
        where sale between 100 and 150
     union (
     select '150-200' as TotalRange,count(sale) as Count from sales
        where sale between 150 and 200)
     union (
     select '200-225' as TotalRange,count(sale) as Count from sales
        where sale between 200 and 225)
     union (
     select '225-250' as TotalRange,count(sale) as Count from sales
        where sale between 225 and 250);
+------------+-------+
| TotalRange | Count |
+------------+-------+
| 100-150    |     2 |
| 150-200    |     2 |
| 200-225    |     4 |
| 225-250    |     3 |
+------------+-------+

W tym zapytaniu przypisujemy zasobnik dla każdej wartości sprzedaży za pomocą instrukcji case. Możesz zmienić zasobniki histogramu na dowolny zakres, nie muszą one mieć jednakowych interwałów.

To zapytanie ma 2 zalety:

  1. Nazwę zasobnika możesz zmienić na dowolną. Na przykład zamiast wyświetlać „100-150” możesz wyświetlić go jako „od 100 do 150”
  2. Możesz mieć niejednorodny rozmiar łyżki. Na przykład możesz mieć wiadro o rozmiarze 100-150 o rozmiarze wiadra 50, a drugie wiadro o rozmiarze 150-250 o rozmiarze 100.

W zależności od wymagań możesz wybrać dowolną z powyższych metod, aby utworzyć histogram w PostgreSQL.

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie o element tablicy w kolumnie JSON

  2. Dlaczego mogę utworzyć tabelę z PRIMARY KEY na kolumnie dopuszczającej wartość null?

  3. Aktualizacja bazy danych do PostgreSQL w wersji 10 — co powinieneś wiedzieć

  4. Zwróć zgrupowaną listę z wystąpieniami za pomocą Rails i PostgreSQL

  5. Utwórz bazę danych Postgres za pomocą Pythona