Hoe u de PostrgreSQL-kruistabelmodule gebruikt

Hoe U De Postrgresql Kruistabelmodule Gebruikt



Wanneer u een SELECT-instructie uitvoert om de records uit een PostgreSQL-tabel op te halen, worden de gegevens in tabelvorm geretourneerd. De tabelvorm is mogelijk niet altijd de beste manier om de gegevens te lezen, vooral als u de waarden wilt vergelijken. Een betere aanpak is om de records als kruistabel te retourneren. Daarvoor biedt PostgreSQL de tablefunc waarmee gebruikers de kruistabelfunctie kunnen gebruiken om de doelgegevens als draaitabel weer te geven. In dit bericht wordt dieper ingegaan op het gebruik van de kruistabelfunctie van PostgreSQL. Lees verder!

Werken met de PostgreSQL kruistabelmodule

Het is handig om ruimte te hebben om aan te geven hoe u wilt dat uw gegevens worden weergegeven. Hoewel de standaardmanier bij PostgreSQL is om de gegevens in tabelvorm te hebben, biedt de kruistabelmodule u een andere optie. U kunt de draaitabellen maken met behulp van de “select”-kolommen uit een PostgreSQL-tabel voor een betere presentatie.

De geweldige functie komt als een uitbreiding voor PostgreSQL versie 8.3. De extensie “tablefunc” biedt de kruistabelfunctie, waardoor het mogelijk is om de draaitabellen als resultaat in te stellen. Laten we een voorbeeld geven.







Eerst maken we de tabel “resultaten” met drie kolommen met behulp van de volgende opdracht:





De gemaakte tabel is leeg. Ga dus door en gebruik de INSERT-query om de waarden eraan toe te voegen. Voor dit geval voegen we enkele vermeldingen in, zoals hieronder weergegeven:





Als we de “select”-instructie uitvoeren, krijgen we de volgende resultaten. Merk op hoe deze standaardmanier om de records op te halen ze in tabelvorm presenteert. De kolommen worden gebruikt als kopteksten en hun respectievelijke waarden verschijnen in de rijen:



Hoewel de vorige aanpak in de meeste gevallen werkt, is er nog een andere optie om dezelfde records op te halen. Voor dit geval willen we een draaitabel maken. Daarom gebruiken we de extensie “tablefunc” die wordt meegeleverd met PostgreSQL versie 8.3+.


Laten we dus een 'tablefunc' -extensie maken om deze in te schakelen wanneer we deze in de query aanroepen. Voer de volgende opdracht uit:

MAAK EEN UITBREIDING ALS DEZE NIET BESTAAT tablefunc ;

U zult weten dat de extensie met succes is ingeschakeld zodra u een uitvoer krijgt zoals die in de vorige afbeelding.

Laten we er voor onze kruistabelfunctie voor zorgen dat de eerste kolom de faculteit is. Daaronder staan ​​de verschillende faculteiten die we in onze tabel hebben. Naast de faculteitskolom hebben we nog andere kolommen die de verschillende waarden in de categoriekolom van onze tabel vertegenwoordigen. Ten slotte hebben we voor elke categorie het aantal studenten dat de verschillende categorieën heeft behaald.

Om een ​​dergelijke draaitabel te verkrijgen, gebruikt u de volgende syntaxis:

SELECTEER * VAN KRUISSTAB ( ‘SELECTEER kolom1 , kolom2 , kolom3 FROM tabelnaam ORDER BY criteriaa’ )

AS nieuwe_naam ( kolom1 gegevenstype , kolom2 gegevenstype , column_n gegevenstype ) ;

Met behulp van de voorbeeldtabel die we hebben gemaakt, ziet onze opdracht er als volgt uit:

Voordat we de resultaten zien, laten we eerst eens kijken hoe de opdracht voor de kruistabelmodule werkt. Eerst retourneert de SELECT-instructie drie kolommen. De eerste kolom wordt behandeld als rij-ID. In ons geval is dit de kolom ‘faculteit’. De tweede kolom, de kolom ‘categorie’, vertegenwoordigt de categorieën voor de draaitabel. Tenslotte bevat de derde kolom de waarden voor de categorieën. In ons geval gaat het om het aantal studenten in elke categorie.

Met dat inzicht krijgen we, zodra we op de 'Enter' -toets drukken, de draaitabel als volgt:

Op basis van de geretourneerde draaitabel kunnen we zien dat deze werkt als een 2D-array waarbij de eerste kolom in de SELECT-instructie de eerste array is en de tweede kolom de tweede array in de dimensie. De derde kolom bevat de waarden voor de tweede array-elementen.

Conclusie

De PostgreSQL-kruistabel is goed voor het weergeven van de tabelwaarden als draaitabel. U moet drie kolommen in uw SELECT-instructie retourneren om de kruistabelmodule te gebruiken, en in dit bericht is een praktisch voorbeeld gedeeld over hoe u deze kunt gebruiken. Daarnaast hebben we uitgelegd hoe de kruistabelmodule werkt bij het maken van de draaitabel die dezelfde logica gebruikt als een 2D-array.