PostgreSQL

PostgreSQL ARRAY_AGG -toiminnon käyttäminen?

PostgreSQL ARRAY_AGG -toiminnon käyttäminen?
ARRAY_AGG () -aggregaattimenetelmä on yksi PostgreSQL: ssä käytetyistä menetelmistä, joka ottaa useita syöttöarvoja ja yhdistää ne matriisiksi, mukaan lukien NULL-arvot. Se palauttaa taulukon, jossa kaikki tuloryhmän arvot ovat osa. Jos haluat lajitella tulosjoukon PostgreSQL ARRAY_AGG -toiminnon avulla, käytetään ORDER BY -lausetta. Voit myös käyttää WHERE-lauseketta tarvittaessa.

Jotta voisit ymmärtää yhdistetyn ARRAY_Agg () -menetelmän, sinun on suoritettava useita esimerkkejä. Avaa tätä tarkoitusta varten PostgreSQL-komentorivin kuori. Jos haluat kytkeä toisen palvelimen päälle, tee se antamalla sen nimi. Muussa tapauksessa jätä tila tyhjäksi ja paina Enter-painiketta siirtyäksesi tietokantaan. Jos haluat käyttää oletustietokantaa, e.g., Postgres, jätä se sellaisenaan ja paina Enter; muuten kirjoita tietokannan nimi, esim.g., "Testi", kuten alla olevassa kuvassa näkyy. Jos haluat käyttää toista porttia, kirjoita se, muuten jätä se sellaisenaan ja napauta Enter jatkaaksesi. Se pyytää sinua lisäämään käyttäjätunnuksen, jos haluat vaihtaa toiseen käyttäjätunnukseen. Lisää käyttäjänimi, jos haluat, muuten paina vain "Enter". Loppujen lopuksi sinun on annettava nykyinen käyttäjän salasana, jotta voit aloittaa komentorivin käytön kyseistä käyttäjää käyttäen alla. Kun olet syöttänyt kaikki vaaditut tiedot, olet valmis lähtemään.

ARRAY_AGG: n käyttö yhdessä sarakkeessa:

Tarkastellaan taulukon "henkilö" tietokannan "testissä", jossa on kolme saraketta; "Id", "nimi" ja "ikä". Sarakkeessa "id" on kaikkien henkilöiden tunnukset. Kentässä 'nimi' on henkilöiden nimet ja sarakkeessa 'ikä' kaikkien henkilöiden ikät.

>> VALITSE * FROM henkilö;

Riippuen yleisestä taulukosta, meidän on käytettävä yhdistettyä ARRAY_AGG-menetelmää palauttaaksesi taulukon kaikkien taulukoiden nimien taulukon sarakkeella "name". Tämän avulla sinun on käytettävä ARRAY_AGG () -toimintoa SELECT-kyselyssä haettaessa tulos taulukon muodossa. Kokeile ilmoitettua kyselyä komentojousessasi ja saat tuloksen. Kuten näette, meillä on alla oleva sarake "array_agg", jolla on taulukossa luetellut nimet samalle kyselylle.

>> VALITSE ARRAY_AGG (nimi) henkilöltä;

ARRAY_AGG: n käyttö useissa sarakkeissa, joissa on ORDER BY -lauseke:

Esimerkki 01:

Kun ARRAY_AGG-funktiota käytetään useisiin sarakkeisiin samalla kun käytetään ORDER BY -lauseketta, harkitse samaa taulukkoa "henkilö" tietokannan "testissä", jossa on kolme saraketta. "Id", "nimi" ja "ikä". Tässä esimerkissä käytämme GROUP BY -lauseketta.

>> VALITSE * FROM henkilö;

Olemme yhdistäneet SELECT-kyselyn tuloksen taulukkoa käytettäessä kahta saraketta "nimi" ja "ikä". Tässä esimerkissä olemme käyttäneet välilyöntiä erikoismerkkinä, jota on käytetty toistamiseen näiden molempien sarakkeiden liittämiseen. Toisaalta olemme hakeneet sarakkeen "id" erikseen. Liitetty taulukon tulos näytetään sarakkeessa "persondata" ajon aikana. Tulosjoukko ryhmitellään ensin henkilön "id": n mukaan ja lajitellaan kentän "id" nousevaan järjestykseen. Yritetään kokeilla alla olevaa komentoa kuoressa ja nähdä tulokset itse. Näet, että meillä on erillinen taulukko jokaiselle alla olevassa kuvassa olevalle nimi-ikä ketjutetulle arvolle.

>> VALITSE tunnus, ARRAY_AGG (nimi || "|| ikä) persondatana HENKILÖSTÖ RYHMÄ ID: n JÄRJESTELY ID:



Esimerkki 02:

Tarkastellaan äskettäin luotua taulukkoa "Työntekijä" tietokannan "testissä", jossa on viisi saraketta; "Id", "nimi", "palkka", "ikä" ja "sähköposti". Taulukko tallentaa kaikki tiedot yrityksessä työskentelevistä viidestä työntekijästä. Tässä esimerkissä käytämme erikoismerkkiä "-" kahden kentän ketjutukseen sen sijaan, että käytettäisimme välilyöntiä samalla kun käytämme GROUP BY- ja ORDER BY -lausekkeita.

>> VALITSE * FROM työntekijä;

Yhdistämme kahden sarakkeen, "nimi" ja "sähköposti", tiedot matriisissa, kun niiden välillä käytetään "-" -merkkiä. Samoin kuin aikaisemmin, erotamme sarakkeen "id" selvästi. Yhdistetyt sarakkeen tulokset näytetään ”emp” ajon aikana. Tulosjoukon kokoaa ensin henkilön "id", ja sen jälkeen se järjestetään sarakkeen "id" nousevassa järjestyksessä. Yritetään yrittää hyvin samanlainen komento kuoressa pienillä muutoksilla ja nähdä seuraukset. Alla olevasta tuloksesta olet hankkinut erillisen taulukon jokaiselle kuvassa esitetylle nimi-sähköposti-ketjutetulle arvolle, kun taas merkkiä '-' käytetään kaikissa arvoissa.

>> VALITSE tunnus, ARRAY_AGG (nimi || '-' || sähköposti) AS emp FROM Employee GROUP BY id ID ORDER BY id;

ARRAY_AGG: n käyttö useissa sarakkeissa ilman ORDER BY -lausetta:

Voit myös kokeilla ARRAY_AGG-menetelmää missä tahansa taulukossa käyttämättä ORDER BY- ja GROUP BY -lausekkeita. Oletetaan, että vanhan tietokannan "testissä" on juuri luotu taulukko "toimija", jossa on kolme saraketta; "Id", "fname" ja "lname". Taulukko sisältää tietoja näyttelijän etu- ja sukunimistä sekä heidän tunnuksistaan.

>> SELECT * FROM näyttelijä;

Liitä siis kaksi saraketta "fname" ja "lname" matriisiluetteloon samalla kun käytät välilyöntiä samalla tavalla kuin teit kahdessa viimeisessä esimerkissä. Emme ole ottaneet saraketta "id" selvästi pois ja ovat käyttäneet ARRAY_AGG-toimintoa SELECT-kyselyssä. Tuloksena oleva taulukon ketjutettu sarake esitetään "näyttelijöinä". Kokeile alla ilmoitettua kyselyä komentokuoressa ja vilkaise tuloksena olevaa taulukkoa. Olemme hakeneet yhden taulukon, jonka nimi-sähköposti-ketjutettu arvo on esitetty, erotettuna pilkulla lopputuloksesta.

Päätelmä:

Lopuksi olet melkein valmis suorittamaan suurimman osan ARRAY_AGG-aggregaattimenetelmän ymmärtämiseen tarvittavista esimerkeistä. Kokeile lisää niistä lopussa ymmärryksen ja tiedon parantamiseksi.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...