SQL Server ROW_NUMBER -toiminto

Yhteenveto: Tässä opetusohjelmassa opit käyttämään SQL Server -palvelinta ROW_NUMBER() -toiminto, jolla määritetään peräkkäinen kokonaisluku kullekin tulosjoukon riville.

Johdanto SQL Server ROW_NUMBER () -funktioon

ROW_NUMBER() on ikkunafunktio, joka määrittää peräkkäisen kokonaisluvun jokaiselle riville tulosjoukon osiossa. Rivin numero alkaa numerolla 1 jokaisen osion ensimmäisellä rivillä.

Seuraava näyttää ROW_NUMBER() -funktion syntaksin:

Otetaan tutkia ROW_NUMBER() -funktion syntaksia yksityiskohtaisesti.

PARTITION BY

PARTITION BY lauseke jakaa tulosjoukon osioihin (toinen termi riviryhmille). ROW_NUMBER() -funktiota käytetään kullekin osiolle erikseen ja se alustaa jokaisen osion rivinumeron uudelleen.

Lauseke PARTITION BY on valinnainen. Jos ohitat sen, ROW_NUMBER() -toiminto käsittelee koko tulosjoukkoa yhtenä osiona.

ORDER BY

ORDER BY -lauseke määrittelee rivien loogisen järjestyksen tulosjoukon jokaisessa osiossa. Lauseke ORDER BY on pakollinen, koska ROW_NUMBER() -toiminto on järjestysherkkä.

SQL Palvelimen ROW_NUMBER () esimerkkejä

Käytämme esimerkkitietokannan sales.customers -taulukkoa osoittamaan funktiota ROW_NUMBER() .

SQL Serverin käyttö ROW_NUMBER () funktio tulosjoukon päällä esimerkki

Seuraava lauseke käyttää ROW_NUMBER() -toimintoa määrittääksesi jokaiselle asiakasriville järjestysnumeron:

Tässä on osittainen ulostulo:

Tässä esimerkissä ohitti lausekkeen PARTITION BY, joten ROW_NUMBER() käsitteli koko tulosjoukkoa yhtenä osiona.

SQL: n käyttö Palvelin ROW_NUMBER () osioiden esimerkissä

Seuraava esimerkki käyttää ROW_NUMBER() toiminto määrittää peräkkäisen kokonaisluvun jokaiselle asiakkaalle. Se nollaa numeron, kun kaupunki muuttuu:

Seuraava kuva näyttää osittaisen lähdön:

Tässä esimerkissä käytimme PARTITION BY -lauseketta asiakkaiden jakamiseen osioihin kaupunkikohtaisesti. Rivin numero alustettiin uudelleen, kun kaupunki muuttui.

SQL Server ROW_NUMBER () -sivun käyttäminen sivutuksessa

ROW_NUMBER() -toiminto on hyödyllinen sivutuksessa sovelluksissa. Voit esimerkiksi näyttää luettelon asiakkaista sivun mukaan, jossa jokaisella sivulla on 10 riviä.

Seuraava esimerkki käyttää ROW_NUMBER() -palautetta asiakkaille riviltä 11 kohtaan 20, joka on toinen sivu:

Tulos on seuraava:

Tässä esimerkissä:

  • Ensinnäkin CTE käytti ROW_NUMBER() -funktiota jokainen tuloksen rivi asettaa peräkkäisen kokonaisluvun.
  • Toiseksi ulompi kysely palautti toisen sivun rivit, joiden rivinumero on 11-20.

Tässä opetusohjelmassa olet oppinut käyttämään SQL Server ROW_NUMBER() -toimintoa peräkkäisen kokonaisluvun määrittämiseksi jokaiselle kyselyn osion riville.

Vastaa

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