SQL PARTITION BY (Suomi)

Yhteenveto: Tässä opetusohjelmassa opit käyttämään SQL: ää PARTITION BY -lauseke, jolla muutetaan sitä, miten ikkunafunktio laskee tuloksen.

SQL PARTITION BY -lausekkeen yleiskatsaus

Lauseke PARTITION BY on alilause OVER -lauseke. Lauseke PARTITION BY jakaa kyselyn tulosjoukon osioihin. Ikkunatoimintoa käytetään kullekin osiolle erikseen, ja se lasketaan uudelleen kullekin osiolle.

Seuraava näyttää PARTITION BY -lausekkeen syntaksin:

Voit määrittää yhden tai useamman sarakkeen tai lausekkeen tulosjoukon osioimiseksi. expression1, expression1 jne. Voivat viitata vain sarakkeisiin, jotka on johdettu FROM lauseke. Ne eivät voi viitata lausekkeisiin tai aliaksiin valintaluettelossa.

Lausekkeen PARTITION BY lausekkeet voivat olla sarake-, skalaari- tai alakyselytoimintoja. Huomaa, että skalaarinen alakysely ja skalaarifunktio palauttaa aina yhden arvon.

Jos jätät lausekkeen PARTITION BY pois, koko tulosjoukko käsitellään yhtenä osiona.

PARTITION BY vs. GROUP BY

Lauseketta GROUP BY käytetään usein yhdessä aggregaattifunktion, kuten SUM() ja AVG(). GROUP BY -lauseke vähentää palautettujen rivien määrää pyörittämällä ne yhteen ja laskemalla kunkin ryhmän summat tai keskiarvot.

Esimerkiksi seuraava lause palauttaa keskiarvon työntekijöiden palkka osastoittain:

Seuraava tulos näyttää tuloksen:

Lauseke PARTITION BY jakaa tulosjoukon osioihin ja muuttaa ikkunatoiminnon laskentatapaa. PARTITION BY -lauseke ei vähennä palautettujen rivien määrää.

Seuraava lause palauttaa työntekijän palkan ja myös työntekijän osaston keskipalkan:

Tässä on osittainen tulos:

Yksinkertaisilla sanoilla GROUP BY -lauseke on aggregaatti, kun taas PARTITION BY -lauseke on analyyttinen.

Tässä opetusohjelma, olet oppinut SQL PARTITION BY -lausekkeesta, joka muuttaa ikkunatoiminnon tuloksen laskemista.

  • Oliko tästä opetusohjelmasta hyötyä?
  • KylläEi

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *