PostgreSQL

Kako se koristi funkcija PostgreSQL ARRAY_AGG?

Kako se koristi funkcija PostgreSQL ARRAY_AGG?
Agregatna metoda ARRAY_AGG () jedna je od metoda koja se koristi u PostgreSQL-u, koja uzima nekoliko ulaznih vrijednosti i spaja ih u niz, uključujući NULL vrijednosti. Vraća niz sa svakom vrijednošću iz ulazne grupe kao dio. Da biste sortirali skup rezultata putem funkcije PostgreSQL ARRAY_AGG, koristit ćete frazu ORDER BY. Po potrebi možete koristiti i klauzulu WHERE.

Da biste razumjeli agregatnu metodu ARRAY_Agg (), morate izvesti nekoliko primjera. U tu svrhu otvorite ljusku naredbenog retka PostgreSQL. Ako želite uključiti drugi poslužitelj, navedite njegovo ime. U suprotnom, ostavite prazan prostor i pritisnite tipku Enter za skok na bazu podataka. Ako želite koristiti zadanu bazu podataka, npr.g., Postgres, a zatim ga ostavite kakav jest i pritisnite Enter; u suprotnom, napišite ime baze podataka, npr.g., "Test", kao što je prikazano na donjoj slici. Ako želite koristiti drugu luku, zapišite je, inače je samo ostavite takvu kakva jest i za nastavak dodirnite Enter. Zatražit će od vas da dodate korisničko ime ako želite prijeći na drugo korisničko ime. Dodajte korisničko ime ako želite, u suprotnom samo pritisnite "Enter". Na kraju, morate navesti trenutnu korisničku lozinku da biste počeli koristiti naredbenu liniju koristeći tog određenog korisnika kao što je prikazano u nastavku. Nakon uspješnog unosa svih potrebnih podataka, spremni ste za polazak.

Upotreba ARRAY_AGG u jednom stupcu:

Uzmite u obzir tablicu "osoba" u "testu" baze podataka koja ima tri stupca; "Id", "ime" i "dob". Stupac "id" sadrži ID-ove svih osoba. Dok polje "ime" sadrži imena osoba, a stupac "dob" dob svih osoba.

>> ODABERI * OD osobe;

Ovisno o općoj tablici, moramo primijeniti agregatnu metodu ARRAY_AGG za vraćanje popisa niza svih imena tablice putem stupca "name". Uz to morate upotrijebiti funkciju ARRAY_AGG () u SELECT upitu da biste dohvatili rezultat u obliku polja. Isprobajte navedeni upit u svojoj naredbenoj ljusci i dobijte rezultat. Kao što vidite, imamo donji izlazni stupac "array_agg" koji ima imena navedena u nizu za isti upit.

>> ODABERI ARRAY_AGG (ime) OD osobe;

Korištenje ARRAY_AGG na više stupaca s klauzulom ORDER BY:

Primjer 01:

Primjenjujući funkciju ARRAY_AGG na više stupaca dok koristite klauzulu ORDER BY, uzmite u obzir istu tablicu "osoba" u okviru "testa" baze podataka koja ima tri stupca; "Id", "ime" i "dob". U ovom ćemo primjeru koristiti klauzulu GROUP BY.

>> ODABERI * OD osobe;

Spajamo rezultat upita SELECT na popisu polja koristeći dva stupca "name" i "age". U ovom primjeru koristili smo prostor kao poseban znak koji je do sada korišten za spajanje oba ova stupca. S druge strane, stupac "id" dohvaćamo odvojeno. Rezultat spojenog polja bit će prikazan u stupcu "persondata" tijekom izvođenja. Skup rezultata prvo će se grupirati prema “id” osobe i sortirati u rastućem redoslijedu polja “id”. Pokušajmo naredbu ispod u ljusci i sami pogledajte rezultate. Na donjoj slici možete vidjeti da imamo zaseban niz za svaku ujedinjenu vrijednost imena-dobi.

>> ODABERI id, ARRAY_AGG (ime || "|| dob) kao persondata OD osobe GROUP BY id ORDER BY id;



Primjer 02:

Razmotrite novostvorenu tablicu "Zaposlenik" u okviru "testa" baze podataka koja ima pet stupaca; "Id", "name", "pay", "age" i "email". Tablica pohranjuje sve podatke o 5 zaposlenika koji rade u tvrtki. U ovom ćemo primjeru koristiti posebni znak '-' za spajanje dva polja umjesto da koristimo razmak dok koristimo klauzulu GROUP BY i ORDER BY.

>> ODABERITE * OD zaposlenika;

Povezujemo podatke dvaju stupaca, „ime“ i „e-pošta“ u niz, dok između njih koristimo „-“. Kao i prije, stupac "id" izdvajamo izrazito. Rezultati povezanih stupaca prikazat će se kao "prazni" tijekom izvođenja. Skup ishoda prvo će se sastaviti prema "id" osobe, a nakon toga će biti organiziran uzlaznim redoslijedom stupca "id". Pokušajmo vrlo sličnu naredbu u ljusci s manjim promjenama i sagledajmo posljedice. Iz donjeg rezultata stekli ste zaseban niz za svaku ujedinjenu vrijednost imena-e-pošte predstavljenu na slici, dok se znak "-" koristi u svakoj vrijednosti.

>> ODABERITE id, ARRAY_AGG (ime || '-' || e-pošta) KAO EM FROM zaposlenika GRUPA PO IDU NARUDŽBA PO id;

Korištenje ARRAY_AGG na više stupaca bez klauzule ORDER BY:

Također možete isprobati metodu ARRAY_AGG na bilo kojoj tablici bez upotrebe klauzule ORDER BY i GROUP BY. Pretpostavimo da je novostvorena tablica „glumac“ u vašoj staroj „provjeri“ baze podataka imala tri stupca; “Id”, “fname” i “lname”. Tablica sadrži podatke o glumčevim imenima i prezimenima zajedno s njihovim ID-ovima.

>> ODABERI * IZ glumca;

Dakle, spojite dva stupca "fname" i "lname" na popisu polja dok koristite razmak između njih, isto kao što ste to učinili u posljednja dva primjera. Nismo jasno izvadili stupac 'id', a koristili smo funkciju ARRAY_AGG unutar upita SELECT. Rezultirani stupac povezan s nizom prikazat će se kao "glumci". Isprobajte dolje navedeni upit u naredbenoj ljusci i uvid u rezultirani niz. Dohvatili smo jedan niz s predstavljenom spojenom vrijednošću ime-adresa, odvojen zarezom od ishoda.

Zaključak:

Napokon, skoro ste gotovi s izvršavanjem većine primjera potrebnih za razumijevanje ARRAY_AGG agregatne metode. Isprobajte ih više na svom kraju za bolje razumijevanje i znanje.

Trackpad i pokazivač miša na ekranu AppyMouse za Windows tablete
Korisnicima tableta često nedostaje pokazivač miša, posebno kada su navični koristiti prijenosna računala. Pametni telefoni i tableti osjetljivi na do...
Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...
Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...