Хистограмите ви помагат да визуализирате разпределението на честотата при анализ на данни и отчитане и да получите информация бързо. Ето как да създадете хистограма в PostgreSQL. Ще разгледаме няколко различни начина за получаване на честотно разпределение в PostgreSQL.
Как да създадете хистограма в PostgreSQL
Ето стъпките за създаване на хистограма в PostgreSQL.
Да приемем, че имате следната таблица sales(order_date, sale)
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
Бонус за четене:Създаване на потребител в PostgreSQL
Създайте хистограма в PostgreSQL
Има множество заявки за PostgreSQL хистограма за създаване на хистограма в PostgreSQL. Ще разгледаме всеки един от тях.
Най-простият начин за създаване на хистограма в PostgreSQL
Ако искате PostgreSQL Histogram bins да имат равни интервали (10-20, 20-30, 30-40 и т.н.), тогава ето SQL заявката за създаване на честотно разпределение в 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 |
+-----------+----------+
В горната заявка изчисляваме номера на кошчето, като разделим всяка стойност на продажба с размера на кошчето на хистограмата, тоест 10. Ако искате да промените размера на кошчето на 25, променете етаж(продажба/10) силно> )*10 до етаж (разпродажба/25 )*25
Бонус за четене:ИЗГЛЕЖДАНЕ НА PostgreSQL
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 |
+-----------+----------+
Предимството на горния метод е, че той автоматично променя кошчетата въз основа на добавяне/изтриване/модификация на данни. Той също така създава нови контейнери за нови данни и/или премахва контейнери, в случай че броят им стане 0. Така че ви позволява да създавате динамично хистограма в PostgreSQL.
Бонус за четене:PostgreSQL Създаване на индекс
Най-гъвкав начин за създаване на хистрограма в PostgreSQL
Ако вече знаете кошчетата на хистограмата, които трябва да бъдат създадени, или ако вашите размери на кофата на хистограмата са различни, тогава можете да създадете честотно разпределение с помощта на оператор CASE. Ето заявката за хистограма за 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 |
+------------+-------+
В тази заявка ние присвояваме кофа за всяка стойност на продажба, използвайки оператор case. Можете да промените сегментите на хистограмата на всеки диапазон, който искате, не е необходимо те да имат еднакви интервали.
Тази заявка има 2 предимства:
- Можете да промените името на сегмента на каквото искате. Например, вместо да показвате „100-150“, можете да го покажете като „между 100 и 150“
- Можете да имате нееднаквен размер на кофата. Например, можете да имате кофа като 100-150 с размер на кофата 50 и друга кофа като 150-250 с размер на кофата 100.
В зависимост от вашето изискване, можете да изберете някой от горните методи за създаване на хистограма в PostgreSQL.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!