PostgreSQL

PostgreSQL Histogram maken met behulp van gegevens

PostgreSQL Histogram maken met behulp van gegevens

Tijdens de gegevensverwerking en -analyse ondersteunen histogrammen u om de frequentieverdeling weer te geven en gemakkelijk inzichten te verkrijgen. We zullen een paar verschillende methoden bekijken voor het verkrijgen van frequentieverdeling in PostgreSQL. Om een ​​histogram in PostgreSQL te bouwen, kunt u verschillende PostgreSQL Histogram-commando's gebruiken. We zullen ze elk afzonderlijk uitleggen.

Zorg er in eerste instantie voor dat PostgreSQL-opdrachtregelshell en pgAdmin4 op uw computersysteem zijn geïnstalleerd. Open nu de PostgreSQL-opdrachtregelshell om aan histogrammen te werken. Het zal u onmiddellijk vragen om de servernaam in te voeren waaraan u wilt werken. Standaard is de 'localhost'-server geselecteerd. Als je er geen invoert terwijl je naar de volgende optie springt, gaat het verder met de standaard. Daarna wordt u gevraagd om de databasenaam, het poortnummer en de gebruikersnaam in te voeren om aan te werken. Als u er geen opgeeft, gaat deze verder met de standaardversie. Zoals je kunt zien op de afbeelding die hieronder is bijgevoegd, zullen we werken aan de 'test'-database. Voer ten slotte uw wachtwoord voor de specifieke gebruiker in en bereid u voor.

Voorbeeld 01:

We moeten enkele tabellen en gegevens in onze database hebben om aan te werken. We hebben dus een tabel 'product' gemaakt in de database 'test' om de records van verschillende productverkopen op te slaan. Deze tabel beslaat twee kolommen. De ene is 'order_date' om de datum op te slaan waarop de bestelling is gedaan, en de andere is 'p_sold' om het totale aantal verkopen op een bepaalde datum op te slaan. Probeer de onderstaande query in uw opdrachtshell om deze tabel te maken:.

>> MAAK TAFELproduct (order_date DATE, p_sold INT);

Op dit moment is de tabel leeg, dus we moeten er wat records aan toevoegen. Probeer dus het onderstaande INSERT-commando in de shell om dit te doen.

>> VOEG DE productWAARDEN IN ('2021-03-01',1250), ('2021-04-02',555), ('2021-06-03',500), ('2021-05-04' ,1000), ('2021-10-05',890), ('2021-12-10',1000), ('2021-01-06',345), ('2021-11-07',467 ), ('2021-02-08',1250), ('2021-07-09',789);

Nu kunt u controleren of de tabel gegevens bevat met behulp van het SELECT-commando zoals hieronder geciteerd:.

>> KIES * UIT product;

Gebruik van vloer en bak:

Als u wilt dat PostgreSQL-histogrambakken vergelijkbare perioden bieden (10-20, 20-30, 30-40, enz.).), voer de onderstaande SQL-opdracht uit. We schatten het baknummer uit de onderstaande verklaring door de verkoopwaarde te splitsen door een histogrambakgrootte, 10.

Deze aanpak heeft het voordeel dat de opslaglocaties dynamisch worden gewijzigd wanneer gegevens worden toegevoegd, verwijderd of gewijzigd. Het voegt ook extra bakken toe voor nieuwe gegevens en/of verwijdert bakken als hun aantal nul bereikt. Hierdoor kunt u efficiënt histogrammen genereren in PostgreSQL.

Wisselvloer(p_sold/10)*10 met floor(p_sold/100)*100 voor het vergroten van de bakgrootte tot 100.

WHERE-clausule gebruiken:

U maakt een frequentieverdeling met behulp van CASE-declaratie, terwijl u begrijpt welke histogrambakken moeten worden gegenereerd of hoe de afmetingen van de histogramcontainers variëren. Voor PostgreSQL is hieronder nog een histogram-instructie:

>> SELECTEER '100-300' ALS prijs_tussen, AANTAL (p_verkocht) ALS AANTAL VAN product WAAR p_verkocht TUSSEN 100 EN 300 UNION (SELECTEER '300-600' ALS prijs_tussen, COUNT (p_verkocht) ALS AANTAL VAN product WAAR p_verkocht TUSSEN 300 EN 600 ) UNION (SELECTEER '600-900' AS price_between, COUNT(p_sold) AS COUNT VAN product WAAR p_sold TUSSEN 600 EN 900) UNION (SELECT '900-1300' AS price_between, COUNT(p_sold) AS COUNT VAN product WAAR p_sold TUSSEN 900 EN 1300);

En de uitvoer toont de histogramfrequentieverdeling voor de totale bereikwaarden van kolom 'p_sold' en het telnummer. Prijzen variëren van 300-600 en 900-1300 heeft een totaal aantal van 4 afzonderlijk. Het verkoopbereik van 600-900 kreeg 2 tellingen, terwijl het bereik 100-300 0 tellingen van verkopen kreeg.

Voorbeeld 02:

Laten we een ander voorbeeld bekijken voor het illustreren van histogrammen in PostgreSQL. We hebben een tabel 'student' gemaakt door het onderstaande commando in de shell te gebruiken. In deze tabel wordt de informatie over studenten opgeslagen en het aantal onvoldoendes dat ze hebben.

>> MAAK TABEL student (std_id INT, fail_count INT);

De tabel moet enkele gegevens bevatten. We hebben dus het INSERT INTO-commando uitgevoerd om gegevens in de tabel 'student' toe te voegen als:

>> INVOEGEN IN WAARDEN van studenten (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);

Nu is de tabel gevuld met een enorme hoeveelheid gegevens volgens de weergegeven uitvoer. Het heeft willekeurige waarden voor std_id en het aantal onvoldoendes van studenten.

>> KIES * VAN student;

Wanneer u een eenvoudige query probeert uit te voeren om het totale aantal mislukkingen van een student te verzamelen, krijgt u de onderstaande uitvoer. De uitvoer toont slechts één keer het afzonderlijke aantal onvoldoendes van elke student van de 'count'-methode die wordt gebruikt in de kolom 'std_id'. Dit ziet er niet erg bevredigend uit.

>> SELECTEER fail_count, COUNT (std_id) UIT student GROEP DOOR 1 BESTEL DOOR 1;

We zullen in dit geval de vloermethode opnieuw gebruiken voor vergelijkbare perioden of bereiken. Voer dus de onderstaande query uit in de opdrachtshell. De query deelt de studenten 'fail_count' door 100.00 en past vervolgens de verdiepingsfunctie toe om een ​​bak van formaat 100 . te maken. Vervolgens somt het het totale aantal studenten op dat in dit specifieke bereik woont.

Conclusie:

We kunnen een histogram genereren met PostgreSQL met behulp van een van de eerder genoemde technieken, afhankelijk van de vereisten. U kunt de histogram-buckets wijzigen in elk gewenst bereik; uniforme intervallen zijn niet vereist. In deze zelfstudie hebben we geprobeerd de beste voorbeelden uit te leggen om uw concept met betrekking tot het maken van histogrammen in PostgreSQL te verduidelijken. Ik hoop dat u, door een van deze voorbeelden te volgen, gemakkelijk een histogram kunt maken voor uw gegevens in PostgreSQL.

Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...
Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...