Хистограмите ви помагат да визуализирате разпределението на честотата при анализ на данни и отчитане и да получите информация бързо. Ето как да създадете хистограма в 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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!