Com utilitzar el mòdul PostrgreSQL Crosstab

Com Utilitzar El Modul Postrgresql Crosstab



Quan executeu una instrucció SELECT per recuperar els registres d'una taula PostgreSQL, les dades es retornen en forma de taula. És possible que la forma tabular no sempre sigui la millor per llegir les dades, sobretot quan voleu comparar els valors. Un millor enfocament és tornar els registres com a tabulació creuada. Per això, PostgreSQL ofereix la funció de taula per permetre als usuaris utilitzar la funció de tabulació creuada per representar les dades de destinació com una taula dinàmica. Aquesta publicació explica més sobre com utilitzar la funció de tabulació creuada PostgreSQL. Segueix llegint!

Treballant amb el mòdul PostgreSQL Crosstab

Tenir una sala per especificar com voleu que es representin les vostres dades és útil. Amb PostgreSQL, tot i que la manera predeterminada és tenir les dades en forma de taula, el mòdul de tabulació creuada us ofereix una altra opció. Podeu crear les taules dinàmiques utilitzant les columnes 'seleccioneu' d'una taula PostgreSQL per a una millor presentació.

La característica sorprenent ve com una extensió per a la versió 8.3 de PostgreSQL. L'extensió 'tablefunc' ofereix la funció de tabulació creuada, que permet tenir les taules dinàmiques com a conjunt de resultats. Posem un exemple.







Primer, creem la taula de 'resultats' amb tres columnes mitjançant l'ordre següent:





La taula creada està buida. Així, seguiu endavant i utilitzeu la consulta INSERT per afegir-hi els valors. Per a aquest cas, inserim algunes entrades tal com es mostra a continuació:





Si executem la instrucció 'select', obtenim els resultats següents. Observeu com aquesta manera predeterminada de recuperar els registres els presenta en forma de taula. Les columnes s'utilitzen com a capçaleres i els seus valors respectius apareixen a les files:



Tot i que l'enfocament anterior funciona per a la majoria dels casos, hi ha una altra opció per recuperar els mateixos registres. Per a aquest cas, volem crear una taula dinàmica. Per tant, utilitzem l'extensió 'tablefunc' que ve amb la versió 8.3+ de PostgreSQL.


Per tant, creem una extensió 'tablefunc' per habilitar-la quan la cridem a la consulta. Executeu l'ordre següent:

CREAR EXTENSIÓ SI NO EXISTEIX tablefunc ;

Sabreu que l'extensió s'ha habilitat correctament un cop obtingueu una sortida com la que tenim a la imatge anterior.

Per a la nostra funció de taula creuada, fem que la primera columna sigui el professorat. A sota hi ha les diferents facultats que tenim a la nostra taula. Al costat de la columna del professorat, tenim altres columnes que representen els diferents valors de la columna de categories de la nostra taula. Finalment, per a cada categoria, tenim el nombre d'alumnes que van assolir les diferents categories.

Per aconseguir aquesta taula dinàmica, utilitzeu la sintaxi següent:

SELECCIONA * DE CROSSTAB ( 'SELECT columna 1 , columna 2 , columna3 FROM nom_taula ORDER BY criteria' )

COM nou_nom ( column1 data_type , column2 data_type , column_n data_type ) ;

Utilitzant la taula d'exemple que hem creat, la nostra comanda té el següent aspecte:

Abans de veure els resultats, anem a fer un desglossament de com funciona l'ordre del mòdul de tabulació creuada. Primer, la instrucció SELECT retorna tres columnes. La primera columna es tracta com a identificador de fila. En el nostre cas, és la columna 'facultat'. La segona columna, que és la columna 'categoria', representa les categories de la taula dinàmica. Finalment, la tercera columna conté els valors de les categories. En el nostre cas, és el nombre d'alumnes de cada categoria.

Tenint aquesta comprensió, un cop premem la tecla 'Enter', obtenim la taula dinàmica de la següent manera:

A partir de la taula dinàmica retornada, podem veure que funciona com una matriu 2-D on la primera columna de la instrucció SELECT és la primera matriu i la segona columna és la segona matriu de la dimensió. La tercera columna conté els valors dels elements de la segona matriu.

Conclusió

La taula creuada de PostgreSQL és bona per representar els valors de la taula com una taula dinàmica. Heu de retornar tres columnes a la vostra instrucció SELECT per utilitzar el mòdul de tabulació creuada, i aquesta publicació ha compartit un exemple pràctic sobre com utilitzar-lo. A més, vam explicar com funciona el mòdul de tabulació creuada per crear la taula dinàmica que utilitza la mateixa lògica que una matriu 2-D.