SQL ROW_NUMBER (Suomi)

Yhteenveto: Tässä opetusohjelmassa opit käyttämään ROW_NUMBER() -toimintoa järjestysnumeron määrittämiseen jokaiselle riville kyselyn tulosjoukossa.

SQL ROW_NUMBER () Toimintojen yleiskatsaus

ROW_NUMBER() on ikkunafunktio, joka antaa peräkkäisen kokonaisluvun kutakin kyselyn tulosjoukon riviä.

Seuraava kuvaa funktion ROW_NUMBER() syntaksia:

Tässä syntaksissa

  • Ensinnäkin lauseke PARTITION BY jakaa FROM -lauseke osioiksi. Lauseke PARTITION BY on valinnainen. Jos jätät sen pois, koko tulosjoukko käsitellään yhtenä osiona.
  • Sitten ORDER BY -lauseke lajittelee kunkin osion rivit. Koska ROW_NUMBER() on järjestysherkkä toiminto, lauseke ORDER BY vaaditaan.
  • Lopuksi jokaisen rivin jokaisessa osioon on annettu peräkkäinen kokonaisluku, jota kutsutaan rivinumeroksi. Rivin numero nollataan aina, kun osion raja ylitetään.

SQL ROW_NUMBER () esimerkkejä

Käytämme employees ja departments taulukot näytetietokannasta esittelyä varten:

A) Yksinkertainen SQL-RIVINUMERO () – esimerkki

Seuraava lause löytää kaikkien työntekijöiden etunimen, sukunimen ja palkan. Lisäksi se käyttää ROW_NUMBER() -toimintoa lisätäksesi peräkkäisen kokonaisluvun kullekin riville.

Seuraava kuva näyttää osittaisen tulosjoukon:

B ) SQL ROW_NUMBER () -sivun käyttäminen

ROW_NUMBER() -toimintoa voidaan käyttää sivutukseen. Esimerkiksi, jos haluat näyttää kaikki sovelluksen taulukon työntekijät sivuittain, joista jokaisella sivulla on kymmenen tietuetta.

  • Käytä ensin ROW_NUMBER() function määrittää kullekin riville peräkkäisen kokonaisluvun.
  • Suodata sitten rivit pyydetyn sivun mukaan. Esimerkiksi ensimmäisen sivun rivit alkavat yhdestä yhdeksään ja toisella sivulla rivit alkavat 11: stä 20: een ja niin edelleen.

Seuraava lause palauttaa toisella sivulla, jokaisella sivulla on kymmenen tietuetta.

Seuraava näyttää tuloksen:

Jos haluat käyttää yhteistä taululauseketta (CTE) alakyselyn sijaan, tässä on kysely:

C) SQL ROW_NUMBER () n: nneksi korkeimman arvon löytämiseksi ryhmää kohti

Seuraava esimerkki näyttää kuinka löytää työntekijät, joiden osastoilla on korkein palkka:

Alakyselyssä:

  • Ensinnäkin PARTITION BY -lauseke jakaa työntekijät osastoittain.
  • Toiseksi ORDER BY lauseke järjestää jokaisen osaston työntekijän palkan mukaan laskevassa järjestyksessä.
  • Kolmanneksi ROW_NUMBER() määrittää jokaiselle riville peräkkäisen kokonaisluvun. . Se nollaa numeron, kun osasto muuttuu.

Seuraava näyttää alakyselyn tulosjoukon:

Ulommassa kyselyssä valitsimme vain työntekijärivit, joilla on row_num arvo 1.

Tässä on koko kyselyn tulos:

Jos muutat lausekkeen WHERE predikaatin arvoksi 1, 2, 3, ja niin edelleen, saat työntekijät, jotka sinulla on toiseksi korkein palkka, kolmanneksi korkein palkka ja niin edelleen.

Tässä opetusohjelmassa olet oppinut käyttämään SQL ROW_NUMBER() -toimintoa järjestyksessä kokonaisluku jokaiselle riville kyselyn tulosjoukossa.

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

Write a Comment

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